{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/libs/ruvpp-angular2-comun/indicador-carga/indicador-carga.componente.html","./src/app/pages/avance-obra/avance-obra.component.html","./src/app/pages/donaciones-equipamiento/donaciones-equipamiento.component.html","./src/app/pages/ecotecnologias-atributos/ecotecnologias-atributos.component.html","./src/app/pages/funcionamiento/funcionamiento.component.html","./src/app/pages/habitabilidad/habitabilidad.component.html","./src/app/pages/inicio-obra/inicio-obra.component.html","./src/app/pages/login/login.component.html","./src/app/pages/sisevive-ecocasa/sisevive-ecocasa.component.html","./src/app/pages/tabs-verificacion/tabs-verificacion.component.html","./src/app/pages/verticalidad/verticalidad.component.html","./src/app/pages/vista-informacion-general/vista-informacion-general.component.html","./node_modules/tslib/tslib.es6.js","./src/$_lazy_route_resource lazy namespace object","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/datos/verificacion-obra.service.ts","./src/app/libs/ruvpp-angular2-comun/FormValidation.ts","./src/app/libs/ruvpp-angular2-comun/HttpSession.ts","./src/app/libs/ruvpp-angular2-comun/ServicioAlertas.ts","./src/app/libs/ruvpp-angular2-comun/ServicioDatosBase.ts","./src/app/libs/ruvpp-angular2-comun/Util.ts","./src/app/libs/ruvpp-angular2-comun/index.ts","./src/app/libs/ruvpp-angular2-comun/indicador-carga/index.ts","./src/app/libs/ruvpp-angular2-comun/indicador-carga/indicador-carga.componente.css","./src/app/libs/ruvpp-angular2-comun/indicador-carga/indicador-carga.componente.ts","./src/app/libs/ruvpp-angular2-comun/indicador-carga/indicador-carga.servicio.ts","./src/app/pages/avance-obra/avance-obra.component.ts","./src/app/pages/donaciones-equipamiento/donaciones-equipamiento.component.ts","./src/app/pages/ecotecnologias-atributos/ecotecnologias-atributos.component.ts","./src/app/pages/funcionamiento/funcionamiento.component.ts","./src/app/pages/habitabilidad/habitabilidad.component.ts","./src/app/pages/inicio-obra/inicio-obra.component.ts","./src/app/pages/login/login.component.ts","./src/app/pages/sisevive-ecocasa/sisevive-ecocasa.component.ts","./src/app/pages/tabs-verificacion/tabs-verificacion.component.ts","./src/app/pages/verticalidad/verticalidad.component.ts","./src/app/pages/vista-informacion-general/vista-informacion-general.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n\\r\\n\\r\\n\\r\\n

{{getMessage()}}

\\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 No. de periodo\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Periodo del\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{periodoDel_MensajeError.mensaje}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n al\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{periodoAl_MensajeError.mensaje}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  Es reporte intermedio\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Id vivienda {{entity != null ? entity.indentificadorVivienda : ''}}\\r\\n      \\r\\n CUV {{entity != null ? entity.cuv : ''}}\\r\\n      \\r\\n Lote {{entity != null ? entity.lote : ''}}\\r\\n      \\r\\n Manzana {{entity != null ? entity.manzana : ''}}\\r\\n      \\r\\n Calle {{entity != null ? entity.calle : ''}}\\r\\n      \\r\\n No. ext. {{entity != null ? entity.numeroExterior : ''}}\\r\\n      \\r\\n No. int. {{entity != null ? entity.numeroInterior : ''}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Urbanización (%)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n infraestructura (%)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Equipamiento urbano (%)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Id vivienda\\r\\n Obra negra\\r\\n Prospecto de venta\\r\\n Indicador de calidad\\r\\n Tipo acción\\r\\n % Avance\\r\\n Tipología\\r\\n Cumple tipología\\r\\n Superficie total habitable\\t\\r\\n Cumple superficie total habitable\\r\\n Observaciones\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.indentificadorVivienda}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{getProspectoVenta(rowData.idProspectoVenta)}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{getTipoAccion(rowData.idTipoAccion)}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.porcentajeAvance}} %\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{rowData.tipologia}}\\r\\n \\r\\n \\r\\n {{rowData.tipologia}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.superficieHabitable}}\\r\\n \\r\\n \\r\\n {{rowData.superficieHabitable}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.observaciones}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\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 Id Geografico\\r\\n Atributo\\r\\n Cumplimiento\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.idDonacion}}\\r\\n\\r\\n {{rowData.descripcion}}\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\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 Id vivienda {{rowData.indentificadorVivienda}}  ||  CUV {{rowData.cuv}}  ||  Lt {{rowData.lote}}  ||  Mz {{rowData.manzana}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Id vivienda {{entity != null ? entity.indentificadorVivienda :''}}\\r\\n      \\r\\n CUV {{entity != null ? entity.cuv :''}}\\r\\n      \\r\\n Lote {{entity != null ? entity.lote :''}}\\r\\n      \\r\\n Manzana {{entity != null ? entity.manzana :''}}\\r\\n\\r\\n \\r\\n      \\r\\n Estatus: \\r\\n {{entity.claveEstatusDescripcion}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n   TOTAL DE ATRIBUTOS {{entity.listAtributos.length}}  \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Atributos \\r\\n Valor atributo\\r\\n Funcionalidad calificada\\r\\n Cumplimiento\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.descripcion}}\\r\\n\\r\\n {{rowData.distancia}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n   TOTAL DE ECOTECNOLOGÍAS {{entity.listaEcotecnologia.length}}  \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Atributos \\r\\n Cumplimiento\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.descripcion}}\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\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 Atributo\\r\\n Funcionamiento\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.desAtributo}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{getFuncionamiento(rowData.enFuncion) }}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\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 Id vivienda {{rowData.indentificadorVivienda}}  ||  CUV {{rowData.cuv}}  ||  Lt {{rowData.lote}}  ||  Mz {{rowData.manzana}}\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Id vivienda {{entity != null ? entity.indentificadorVivienda : ''}}\\r\\n      \\r\\n CUV {{entity != null ? entity.cuv : ''}}\\r\\n      \\r\\n Lote {{entity != null ? entity.lote : ''}}\\r\\n      \\r\\n Manzana {{entity != null ? entity.manzana : ''}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Cumplimiento\\r\\n
\\r\\n
\\r\\n Liga de servicios\\r\\n
\\r\\n
\\r\\n Observaciones\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n   {{row.descripcion}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{entregables_MensajeError.mensaje}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\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 Fecha 1a. visita\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Urbanización (%)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n infraestructura (%)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Equipamiento urbano (%)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Bitácora de obra\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Observaciones\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{observacionBitacoraObra_MensajeError.mensaje}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Pruebas\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Observaciones\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{observacionPruebas_MensajeError.mensaje}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Criterio sin inicio de obra\\r\\n
\\r\\n
\\r\\n Pendientes {{inicioObra.pendientes}}\\r\\n
\\r\\n
\\r\\n   Cumple {{inicioObra.cumple}}\\r\\n
\\r\\n
\\r\\n   No cumple {{inicioObra.noCumple}}\\r\\n
\\r\\n
\\r\\n   Ayuda\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{indicadorCalidad_MensajeError.mensaje}}\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n Podrás consultar más detalles de cada vivienda al pie de la tabla.\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Id vivienda\\r\\n Criterio sin inicio de obra\\r\\n Porcentaje de obra ejecutada\\r\\n Indicador de calidad\\r\\n Nivel de incumplimiento\\r\\n Observaciones\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.indentificadorVivienda}}\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{rowData.porcentajeObraEjecutada}} %\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{getNivelIncumplimiento(rowData.nivelIncumplimiento)}}\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.observaciones}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Id vivienda  {{entity != null ? entity.indentificadorVivienda : ''}}\\r\\n
\\r\\n
\\r\\n CUV  {{entity != null ? entity.cuv : ''}}\\r\\n
\\r\\n
\\r\\n Lote  {{entity != null ? entity.lote : ''}}\\r\\n
\\r\\n
\\r\\n Manzana  {{entity != null ? entity.manzana : ''}}\\r\\n
\\r\\n
\\r\\n Calle  {{entity != null ? entity.calle : ''}}\\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

Verificación de Obra
 

\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{user_MensajeError.mensaje}}\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{password_MensajeError.mensaje}}\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n  
© Derechos reservados RUV {{date | date: 'yyyy'}}\\r\\n
\\r\\n Email: verificacion@ruv.org.mx\\r\\n
\\r\\n Teléfono: 800 0077 788\\r\\n
\\r\\n Ver 2.1.1\\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 Id vivienda {{rowData.indentificadorVivienda}}  ||  CUV {{rowData.cuv}}  ||  Lt {{rowData.lote}}  ||  Mz {{rowData.manzana}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Atributo\\r\\n Valor\\r\\n Cumplimiento\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.descripcion}}\\r\\n\\r\\n {{rowData.valor}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\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 Usuario {{usuario}}   ||  Verificador {{verificador}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Salir\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Nombre del frente {{getOrdenVerificacion() != null ? getOrdenVerificacion().nombreFrente : ''}}\\r\\n   ||  \\r\\n Orden de verificación {{getOrdenVerificacion() != null ? getOrdenVerificacion().idOrdenVerificacion : ''}}\\r\\n   ||  \\r\\n Total de viviendas {{getOrdenVerificacion() != null ? getOrdenVerificacion().totalViviendas : ''}}\\r\\n
\\r\\n
\\r\\n

{{getOrdenVerificacion().modalidad}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n >\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n >\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n © Derechos reservados RUV 2022  |  Teléfono: 01 800 0077 788  |  Email: soporte@ruv.org.mx\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n Viviendas registradas  {{verticalidad.totalVivVertical}} \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Viviendas construidas\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Niveles habitables\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Fecha de colado de 1er nivel habitable\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n Fotografía\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
    \\r\\n
  • {{file.name}} - {{file.size}} bytes
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Edificio - {{rowData.nombreEdificio}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Tipo\\r\\n Concepto\\r\\n Ejecutado\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n {{rowData.tipo}}\\r\\n\\r\\n {{rowData.concepto}}\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\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 Usuario {{usuario}}  ||  Verificador {{verificador}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Salir\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n Orden de verificación\\r\\n Estatus\\r\\n Total de viviendas\\r\\n Ecotecnologías / sustentabilidad\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.ordenVerificacion}}\\r\\n {{rowData.estatus}}\\r\\n {{rowData.totalViviendas}}\\r\\n {{rowData.ecotecnologia}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Orden de verificación {{entity != null ? entity.ordenVerificacion : ''}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Oferta\\r\\n {{ entity != null ? entity.idOfertaVivienda : ''}}\\r\\n \\r\\n
\\r\\n

{{entity.modalidad}}

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Nombre del frente\\r\\n {{entity != null ? entity.nombreFrente : ''}}\\r\\n
\\r\\n
\\r\\n Total de viviendas\\r\\n {{entity != null ? entity.totalViviendas : ''}}\\r\\n
\\r\\n
\\r\\n Fecha de aceptación\\r\\n {{entity != null ? (entity.fechaAceptacion | date:'medium') : ''}}\\r\\n
\\r\\n
\\r\\n Estado\\r\\n {{entity != null ? entity.entidad : ''}}\\r\\n
\\r\\n
\\r\\n Situación verificación\\r\\n {{entity != null ? entity.estatus : ''}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n Elige los reportes que deseas activar para la orden de verificación seleccionada:\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n © Derechos reservados RUV 2022  |  Teléfono: 01 800 0077 788  |  Email: soporte@ruv.org.mx\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\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 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(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 __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") 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 throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\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\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","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 = \"./src/$$_lazy_route_resource lazy recursive\";","export default \"/*@media (max-width: 767px) {*/\\r\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\r\\n /*.body-content {\\r\\n padding-top: 50px;\\r\\n }\\r\\n}*/\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOEJBQThCO0lBQzFCLDZGQUE2RjtJQUM3Rjs7O0VBR0YiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7Ki9cclxuICAgIC8qIE9uIHNtYWxsIHNjcmVlbnMsIHRoZSBuYXYgbWVudSBzcGFucyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgc2NyZWVuLiBMZWF2ZSBhIHNwYWNlIGZvciBpdC4gKi9cclxuICAgIC8qLmJvZHktY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICB9XHJcbn0qLyJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Util } from './libs/ruvpp-angular2-comun';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n public static message: string;\r\n\r\n /**\r\n * \r\n * @param _router\r\n */\r\n constructor(private _router: Router) { }\r\n\r\n ngOnInit() {\r\n Util.forward(this._router, 'Login');\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public static setMessage(message: string) {\r\n this.message = message;\r\n }\r\n\r\n public getMessage(): string {\r\n return AppComponent.message;\r\n }\r\n\r\n}\r\n","import { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { MessageService } from 'primeng/api';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CardModule } from 'primeng/card';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { GalleriaModule } from 'primeng/galleria';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabMenuModule } from 'primeng/tabmenu';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { AppComponent } from './app.component';\r\nimport { VerificacionObraService } from './datos/verificacion-obra.service';\r\nimport { ServicioIndicadorCarga } from './libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { ServicioAlertas } from './libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { AvanceObraComponent } from './pages/avance-obra/avance-obra.component';\r\nimport { EcotecnologiasAtributosComponent } from './pages/ecotecnologias-atributos/ecotecnologias-atributos.component';\r\nimport { FuncionamientoComponent } from './pages/funcionamiento/funcionamiento.component';\r\nimport { HabitabilidadComponent } from './pages/habitabilidad/habitabilidad.component';\r\nimport { InicioObraComponent } from './pages/inicio-obra/inicio-obra.component';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { SiseviveEcocasaComponent } from './pages/sisevive-ecocasa/sisevive-ecocasa.component';\r\nimport { TabsVerificacionComponent } from './pages/tabs-verificacion/tabs-verificacion.component';\r\nimport { VerticalidadComponent } from './pages/verticalidad/verticalidad.component';\r\nimport { VistaInformacionGeneralComponent } from './pages/vista-informacion-general/vista-informacion-general.component';\r\nimport { NgxDocViewerModule } from 'ngx-doc-viewer'\r\nimport { DonacionesEquipamientoComponent } from './pages/donaciones-equipamiento/donaciones-equipamiento.component';\r\n\r\nconst appRoutes: Routes = [\r\n { path: '', component: AppComponent, pathMatch: 'full' },\r\n { path: 'Login', component: LoginComponent },\r\n { path: 'VistaInformacionGeneralComponent', component: VistaInformacionGeneralComponent },\r\n { path: 'TabsVerificacionComponent', component: TabsVerificacionComponent },\r\n { path: 'InicioObraComponent', component: InicioObraComponent },\r\n { path: 'AvanceObraComponent', component: AvanceObraComponent },\r\n { path: 'HabitabilidadComponent', component: HabitabilidadComponent },\r\n { path: 'EcotecnologiasAtributosComponent', component: EcotecnologiasAtributosComponent },\r\n { path: 'VerticalidadComponent', component: VerticalidadComponent },\r\n { path: 'SiseviveEcocasaComponent', component: SiseviveEcocasaComponent },\r\n { path: 'FuncionamientoComponent', component: FuncionamientoComponent },\r\n { path: 'DonacionesEquipamientoComponent', component: DonacionesEquipamientoComponent },\r\n];\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent\r\n , LoginComponent\r\n , VistaInformacionGeneralComponent\r\n , TabsVerificacionComponent\r\n , InicioObraComponent\r\n , AvanceObraComponent\r\n , HabitabilidadComponent\r\n , EcotecnologiasAtributosComponent\r\n , VerticalidadComponent\r\n , SiseviveEcocasaComponent\r\n , FuncionamientoComponent\r\n , DonacionesEquipamientoComponent\r\n ],\r\n imports: [\r\n BrowserModule\r\n , BrowserAnimationsModule\r\n , FormsModule\r\n , RouterModule.forRoot(appRoutes, { enableTracing: false })\r\n , TableModule\r\n , HttpClientModule\r\n , InputTextModule\r\n , DialogModule\r\n , ButtonModule\r\n , CardModule\r\n , FileUploadModule\r\n , TabMenuModule\r\n , DropdownModule\r\n , TabViewModule\r\n , ProgressSpinnerModule\r\n , GalleriaModule\r\n , TableModule\r\n , InputSwitchModule\r\n , ConfirmDialogModule\r\n , CalendarModule\r\n , InputNumberModule\r\n , SliderModule\r\n , CheckboxModule\r\n , NgxSpinnerModule\r\n , NgxDocViewerModule\r\n ],\r\n providers: [\r\n ServicioIndicadorCarga\r\n , ServicioAlertas\r\n , VerificacionObraService\r\n , MessageService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ServicioDatosBase } from '../libs/ruvpp-angular2-comun/ServicioDatosBase';\r\nimport { Usuario, SeguridadSalida, OutputVistaInformacionGeneral, InputVistaInformacionGeneral, InputReporte, OutputReporteInicioObra, InputReporteInicioObra, InputReporteAvanceObra, OutputReporteAvanceObra, OutputReporteHabitabilidad, InputReporteHabitabilidad, OutputReporteEcotecnologia, InputReporteEcotecnologia, OutputReporteVerticalidad, InputReporteVerticalidad, OutputReporteSiseviveEcocasa, InputReporteSiseviveEcocasa, OutputReporteFuncionamiento, InputReporteFuncionamiento, Archivo, OutputReporteDonacionesEquipamiento, InputReporteDonacionesEquipamiento } from '../modelo/interfaces';\r\nimport { JsonResponse } from '../libs/ruvpp-angular2-comun/modelo/Index';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VerificacionObraService extends ServicioDatosBase {\r\n\r\n private urlBase: string = environment.urlBase;\r\n private headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Accept': 'application/json', 'Access-Control-Allow-Origin': '*' });\r\n\r\n private urls = {\r\n ObtenerUsuario: `${this.urlBase}/externo/api/autentificacion/ObtenerUsuario`,\r\n ObtenerVistaInformacionGeneral: `${this.urlBase}/externo/api/verificacionObra/ObtenerVistaInformacionGeneral`,\r\n ObtenerReporteInicioObra: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteInicioObra`,\r\n GuardarReporteInicioObra: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteInicioObra`,\r\n ObtenerReporteAvanceObra: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteAvanceObra`,\r\n GuardarReporteAvanceObra: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteAvanceObra`,\r\n ObtenerReporteHabitabilidad: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteHabitabilidad`,\r\n GuardarReporteHabitabilidad: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteHabitabilidad`,\r\n ObtenerReporteEcotecnologia: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteEcotecnologia`,\r\n GuardarReporteEcotecnologia: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteEcotecnologia`,\r\n ObtenerReporteVerticalidad: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteVerticalidad`,\r\n GuardarReporteVerticalidad: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteVerticalidad`,\r\n ObtenerReporteSiseviveEcocasa: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteSiseviveEcocasa`,\r\n GuardarReporteSiseviveEcocasa: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteSiseviveEcocasa`,\r\n ObtenerReporteFuncionamiento: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteFuncionamiento`,\r\n GuardarReporteFuncionamiento: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteFuncionamiento`,\r\n ObtenerReporteDonacionesEquipamiento: `${this.urlBase}/externo/api/verificacionObra/ObtenerReporteDonacionesEquipamiento`,\r\n GuardarReporteDonacionesEquipamiento: `${this.urlBase}/externo/api/verificacionObra/GuardarReporteDonacionesEquipamiento`,\r\n FileUpload: `${this.urlBase}/externo/api/fileUpload/add`,\r\n };\r\n\r\n\r\n /**\r\n * \r\n * @param http\r\n */\r\n constructor(http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public Autentificacion(entity: Usuario) {\r\n return this.post>(this.urls.ObtenerUsuario, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public ObtenerVistaInformacionGeneral(entity: InputVistaInformacionGeneral) {\r\n return this.post>(this.urls.ObtenerVistaInformacionGeneral, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteInicioObra(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteInicioObra, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteInicioObra(entity: InputReporteInicioObra) {\r\n return this.post>(this.urls.GuardarReporteInicioObra, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteAvanceObra(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteAvanceObra, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteAvanceObra(entity: InputReporteAvanceObra) {\r\n return this.post>(this.urls.GuardarReporteAvanceObra, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteHabitabilidad(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteHabitabilidad, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteHabitabilidad(entity: InputReporteHabitabilidad) {\r\n return this.post>(this.urls.GuardarReporteHabitabilidad, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteEcotecnologia(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteEcotecnologia, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteEcotecnologia(entity: InputReporteEcotecnologia) {\r\n return this.post>(this.urls.GuardarReporteEcotecnologia, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteVerticalidad(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteVerticalidad, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteVerticalidad(entity: InputReporteVerticalidad) {\r\n return this.post>(this.urls.GuardarReporteVerticalidad, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteSiseviveEcocasa(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteSiseviveEcocasa, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteSiseviveEcocasa(entity: InputReporteSiseviveEcocasa) {\r\n return this.post>(this.urls.GuardarReporteSiseviveEcocasa, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteFuncionamiento(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteFuncionamiento, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteFuncionamiento(entity: InputReporteFuncionamiento) {\r\n return this.post>(this.urls.GuardarReporteFuncionamiento, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public ObtenerReporteDonacionesEquipamiento(entity: InputReporte) {\r\n return this.post>(this.urls.ObtenerReporteDonacionesEquipamiento, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public GuardarReporteDonacionesEquipamiento(entity: InputReporteDonacionesEquipamiento) {\r\n return this.post>(this.urls.GuardarReporteDonacionesEquipamiento, JSON.stringify(entity), { headers: this.headers });\r\n }\r\n \r\n\r\n /**\r\n * \r\n * @param event\r\n * @param params\r\n */\r\n public AgregarDocumento(event, params) {\r\n\r\n console.log('uploadFiles -->> event -->> ', event + ' params -->> ', params);\r\n\r\n var formData: FormData = new FormData();\r\n\r\n if (params != null) {\r\n formData.append('json', JSON.stringify(params));\r\n }\r\n\r\n let cont = 1;\r\n\r\n for (let file of event.files) {\r\n\r\n formData.append(file.name, file);\r\n\r\n console.log('File [' + (cont) + '] -->> ', file);\r\n\r\n cont++;\r\n\r\n }\r\n\r\n return this.postFile>(this.urls.FileUpload, formData);\r\n }\r\n}\r\n","/**\r\n * \r\n */\r\nexport class FormValidation {\r\n\r\n public static RFC_FISICO = /^([A-ZÑ]{4}|[A-Z][AEIOU][A-Z]{2})\\d{2}((01|03|05|07|08|10|12)(0[1-9]|[12]\\d|3[01])|02(0[1-9]|[12]\\d)|(04|06|09|11)(0[1-9]|[12]\\d|30))([A-Z0-9]{3})$/i;\r\n public static RFC_MORAL = /^([A-Z&Ñ]{3})\\d{2}((01|03|05|07|08|10|12)(0[1-9]|[12]\\d|3[01])|02(0[1-9]|[12]\\d)|(04|06|09|11)(0[1-9]|[12]\\d|30))([A-Z0-9]{3})$/i;\r\n public static CURP = /^[A-ZÑ][A,E,I,O,U,X][A-ZÑ]{2}[0-9]{2}[0-1][0-9][0-3][0-9][M,H][A-Z]{2}[B,C,D,F,G,H,J,K,L,M,N,Ñ,P,Q,R,S,T,V,W,X,Y,Z]{3}[0-9,A-Z][0-9]$/i;\r\n public static EMAIL = /^[a-zA-Z0-9.!#$%&' * +/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9]{1}(?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/i;\r\n public static EMPLOYER_REGISTRATION_NUMBER = /^([A-Za-z]{1}[0-9]{10})$/i;\r\n public static NUMERICO = /^[0-9]+$/i;\r\n public static DECIMAL = /^-?[0-9]+([,\\.][0-9]*)?$/i;\r\n\r\n private valor: string;\r\n public error: boolean;\r\n public mensaje: string;\r\n\r\n constructor(valor: any) {\r\n\r\n this.error = false;\r\n\r\n if (valor != null) {\r\n this.valor = String(valor);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public requered(message: string): FormValidation {\r\n\r\n if ((this.valor == null || this.valor.toString().trim().length == 0)) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public physicalRFC(message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = FormValidation.RFC_FISICO.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public moralRFC(message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = FormValidation.RFC_MORAL.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public curp(message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = FormValidation.CURP.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public emailAddress(message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = FormValidation.EMAIL.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public employerRegistrationNumber(message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = FormValidation.EMPLOYER_REGISTRATION_NUMBER.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param min\r\n * @param max\r\n * @param message\r\n */\r\n public stringLength(min: number, max: number, message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n if ((this.valor.trim().length < min) && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n\r\n if ((this.valor.trim().length > max) && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param regexp\r\n * @param message\r\n */\r\n public regexp(regexp: RegExp, message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = regexp.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public integer(message: string): FormValidation {\r\n\r\n console.log('integer -->> ')\r\n\r\n if (this.valor != null && this.valor.toString().trim().length > 0) {\r\n\r\n let result = FormValidation.NUMERICO.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n public decimal(message: string): FormValidation {\r\n\r\n console.log('decimal -->> ')\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let result = FormValidation.DECIMAL.test(this.valor);\r\n\r\n if (!result && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * \r\n * @param min\r\n * @param max\r\n * @param message\r\n */\r\n public between(min: number, max: number, message: string): FormValidation {\r\n\r\n if (this.valor != null && this.valor.trim().length > 0) {\r\n\r\n let value: number = Number(this.valor);\r\n\r\n if (!(value >= min && value <= max) && !this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n\r\n } else {\r\n if (!this.error) {\r\n this.error = true;\r\n this.mensaje = message;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n}","export class HttpSession {\r\n\r\n /**\r\n * \r\n */\r\n constructor() {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param key\r\n * @param object\r\n */\r\n public static setAttribute(key: string, object: any) {\r\n sessionStorage.setItem(key, JSON.stringify(object));\r\n }\r\n\r\n /**\r\n * \r\n * @param key\r\n */\r\n public static getAttribute(key: string): any {\r\n return JSON.parse(sessionStorage.getItem(key));\r\n }\r\n\r\n /**\r\n * \r\n * @param key\r\n */\r\n public static removeAttribute(key: string) {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public static clear() {\r\n sessionStorage.clear();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServicioAlertas {\r\n\r\n /**\r\n * Muestra una alerta al usuario.\r\n * @param titulo Título de la altera.\r\n * @param mensaje Mensaje del mensaje.\r\n * @param tipo Tipo de alerta.\r\n */\r\n public mostrar(titulo: string, mensaje: string = null, tipo: 'warning' | 'error' | 'success' | 'info' | 'question' = null) {\r\n\r\n let resultado: any; //Promise;\r\n\r\n if (mensaje !== undefined && tipo !== undefined)\r\n resultado = Swal.fire(titulo, mensaje, tipo);\r\n else if (mensaje !== undefined)\r\n resultado = Swal.fire(titulo, mensaje);\r\n else\r\n resultado = Swal.fire(titulo);\r\n\r\n return resultado;\r\n }\r\n\r\n /**\r\n * Muestra una alerta al usuario.\r\n * @param opciones Opciones de la alerta.\r\n */\r\n public mostrarConOpciones(opciones: any) {\r\n return Swal.fire(opciones);\r\n }\r\n\r\n /**\r\n * Se agrega método para poder leer inputs en sweetalert\r\n * @param opciones Opciones de la alerta.\r\n */\r\n public mostrarConOpcionesInput(opciones: any) {\r\n return Swal.fire(opciones); //true\r\n }\r\n}","import { HttpClient, HttpParams, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable } from 'rxjs';\r\n\r\n/**\r\n * Clase base para los Servicios de datos.\r\n */\r\nexport abstract class ServicioDatosBase {\r\n\r\n constructor(protected http: HttpClient) {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param url \r\n * @param parametros \r\n */\r\n public get(url: string, parametros: any) {\r\n\r\n console.log('url -->> ', url);\r\n console.log('parametros -->> ', parametros);\r\n\r\n return this.http.get(url, { params: parametros });\r\n }\r\n\r\n /**\r\n * \r\n * @param url \r\n * @param parametros \r\n */\r\n public post(url: string, parametros: any, httpHeaders: any): Observable {\r\n\r\n console.log('url -->> ', url);\r\n console.log('parametros -->> ', parametros);\r\n\r\n return this.http.post(url, parametros, httpHeaders);\r\n }\r\n\r\n /**\r\n * \r\n * @param url\r\n * @param parametros\r\n * @param httpHeaders\r\n */\r\n public postFile(url: string, formData: FormData) {\r\n\r\n console.log('url -->> ', url);\r\n \r\n let headers = new HttpHeaders();\r\n\r\n headers.append('Content-Type', 'multipart/form-data');\r\n\r\n headers.append('Accept', 'application/json');\r\n\r\n return this.http.post(url, formData, { headers: headers });\r\n }\r\n\r\n\r\n /**\r\n * \r\n * @param parametros \r\n * @param nombreParametro \r\n * @param valorParametro \r\n */\r\n protected addParameter(parametros: HttpParams, nombreParametro: string, valorParametro: any): HttpParams {\r\n\r\n if (parametros != undefined && nombreParametro != undefined) {\r\n\r\n let value = valorParametro;\r\n\r\n if (valorParametro == undefined) {\r\n value = '';\r\n }\r\n\r\n parametros = parametros.set(nombreParametro, value);\r\n }\r\n\r\n return parametros;\r\n\r\n }\r\n\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { AppComponent } from '../../app.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { ServicioAlertas } from './ServicioAlertas';\r\nimport { Table } from 'primeng/table';\r\n\r\nexport class Util {\r\n\r\n private static spinner: NgxSpinnerService\r\n\r\n /**\r\n * \r\n * @param router\r\n * @param path\r\n */\r\n public static forward(router: Router, path: string): void {\r\n router.navigate(['/' + path]);\r\n //this._router.navigate(['PortadaInicioComponent'], { queryParams: { avisar: '1' } });\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public static getDateSpanish(): any {\r\n\r\n let es: any;\r\n\r\n es = {\r\n firstDayOfWeek: 1,\r\n dayNames: [\"Domingo\", \"Lunes\", \"Martes\", \"Miércoles\", \"Jueves\", \"Viernes\", \"Sábado\"],\r\n dayNamesShort: [\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"],\r\n dayNamesMin: [\"Dom\", \"Lun\", \"Mar\", \"Mié\", \"Jue\", \"Vie\", \"Sáb\"],\r\n monthNames: [\"Enero\", \"Febrero\", \"Marzo\", \"Abril\", \"Mayo\", \"Junio\", \"Julio\", \"Agosto\", \"Septiembre\", \"Octubre\", \"Noviembre\", \"Diciembre\"],\r\n monthNamesShort: [\"Ene\", \"Feb\", \"Mar\", \"Abr\", \"May\", \"Jun\", \"Jul\", \"Ago\", \"Sep\", \"Oct\", \"Nov\", \"Dic\"],\r\n today: 'Hoy',\r\n clear: 'Borrar'\r\n }\r\n\r\n return es;\r\n }\r\n\r\n\r\n /**\r\n * \r\n * @param spinner\r\n * @param message\r\n */\r\n public static showLoadingMessage(spinner: NgxSpinnerService, message: string) {\r\n AppComponent.message = message;\r\n Util.spinner = spinner;\r\n Util.spinner.show();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public static hideLoadingMessage() {\r\n Util.spinner.hide();\r\n }\r\n\r\n /**\r\n * \r\n * @param date\r\n * @param days\r\n */\r\n public static addDays(date: Date, days: number): Date {\r\n let object = JSON.stringify(date);\r\n let _date: Date = new Date(JSON.parse(object));\r\n _date.setDate(_date.getDate() + days);\r\n return _date;\r\n }\r\n\r\n /**\r\n * \r\n * @param obj\r\n */\r\n public static clone(obj: any): T {\r\n let json = JSON.stringify(obj);\r\n return JSON.parse(json);\r\n }\r\n\r\n /**\r\n * \r\n * @param servicioAlertas\r\n * @param titulo\r\n * @param mensaje\r\n * @param tipoMensaje\r\n * @param html\r\n * @param forward\r\n */\r\n public static showMessage(servicioAlertas: ServicioAlertas, titulo: string, mensaje: string, tipoMensaje: string, html: boolean = false, callback:() => any = null): void {\r\n\r\n if (html == false) {\r\n\r\n servicioAlertas.mostrarConOpciones({\r\n title: `${titulo}`,\r\n text: `${mensaje}`,\r\n icon: `${tipoMensaje}`,\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Aceptar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n\r\n console.log('result.value -->> ', result.value)\r\n\r\n if (result.value) {\r\n\r\n } else {\r\n\r\n if (result.dismiss === Swal.DismissReason.cancel) {\r\n\r\n }\r\n\r\n if (result.dismiss === Swal.DismissReason.backdrop) {\r\n\r\n }\r\n }\r\n\r\n if (callback != null) {\r\n callback.call(1);\r\n }\r\n\r\n });\r\n\r\n } else {\r\n\r\n servicioAlertas.mostrarConOpciones({\r\n title: `${titulo}`,\r\n html: `${mensaje}`,\r\n icon: `${tipoMensaje}`,\r\n showCancelButton: false,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Aceptar',\r\n cancelButtonText: 'Cancelar'\r\n }).then((result) => {\r\n\r\n console.log('result.value -->> ', result.value)\r\n\r\n if (result.value) {\r\n\r\n } else {\r\n\r\n if (result.dismiss === Swal.DismissReason.cancel) {\r\n\r\n }\r\n\r\n if (result.dismiss === Swal.DismissReason.backdrop) {\r\n\r\n }\r\n }\r\n\r\n if (callback != null) {\r\n callback.call(1);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param table\r\n * @param index\r\n */\r\n public static onRowSelect(table: Table, index: number): void {\r\n\r\n if (table != null) {\r\n\r\n table.reset();\r\n\r\n let lista: any = Util.clone(table.value);\r\n\r\n table.value = lista;\r\n\r\n table.selection = table.value[index - 1];\r\n }\r\n\r\n }\r\n\r\n}","export * from './FormValidation';\r\nexport * from './HttpSession';\r\nexport * from './Util';","export * from './estatusIndicadorCarga';\r\nexport * from './indicador-carga.componente';\r\nexport * from './indicador-carga.servicio';","export default \"/* Loading\\r\\n ========================================================================== */\\r\\n\\r\\n.Fakeloader-loading {\\r\\n position: relative;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.Loading {\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.Loading .Fakeloader {\\r\\nheight: 100%;\\r\\nbackground: #fff;\\r\\n}\\r\\n\\r\\n.Fakeloader {\\r\\n position: fixed;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n z-index: 105;\\r\\n}\\r\\n\\r\\n.Fakeloader_fullscreen {\\r\\n position: fixed;\\r\\n height: 100%;\\r\\n width: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n z-index: 1500 !important;\\r\\n}\\r\\n\\r\\n.Fakeloader.fakeloader {\\r\\n position: absolute !important;\\r\\n background-color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.Fakeloader .spinner3 {\\r\\n left: 48% !important;\\r\\n top: 50% !important;\\r\\n margin-top: -20px;\\r\\n}\\r\\n\\r\\n.Fakeloader .container1 > div, .Fakeloader .container2 > div, .Fakeloader .container3 > div {\\r\\n background: #7AC243 !important;\\r\\n}\\r\\n\\r\\n.Fakeloader .dot1 {\\r\\n background: linear-gradient(to left, #7AC243, #7AC243, #009CDC 100%) !important;\\r\\n}\\r\\n\\r\\n.dot2 {\\r\\n background: linear-gradient(to left, #7AC243, #7AC243, #009CDC 100%) !important;\\r\\n}\\r\\n\\r\\n.Fakeloader-text {\\r\\n top: 48% !important;\\r\\n margin-top: 80px;\\r\\n position: absolute;\\r\\n font-size: 16px;\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.Fakeloader-text-dos {\\r\\n top: 48% !important;\\r\\n margin-top: 80px;\\r\\n position: absolute;\\r\\n font-size: 16px;\\r\\n width: 100%;\\r\\n /*text-align: center;*/\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGlicy9ydXZwcC1hbmd1bGFyMi1jb211bi9pbmRpY2Fkb3ItY2FyZ2EvaW5kaWNhZG9yLWNhcmdhLmNvbXBvbmVudGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOytFQUMrRTs7QUFFL0U7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osTUFBTTtJQUNOLE9BQU87SUFDUCxXQUFXO0FBQ2Y7O0FBRUE7QUFDQSxZQUFZO0FBQ1osZ0JBQWdCO0FBQ2hCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFlBQVk7SUFDWixXQUFXO0lBQ1gsTUFBTTtJQUNOLE9BQU87SUFDUCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFlBQVk7SUFDWixXQUFXO0lBQ1gsTUFBTTtJQUNOLE9BQU87SUFDUCx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSw2QkFBNkI7SUFDN0IseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSw4QkFBOEI7QUFDbEM7O0FBRUE7SUFFSSwrRUFBK0U7QUFDbkY7O0FBRUE7SUFFSSwrRUFBK0U7QUFDbkY7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixXQUFXO0VBQ1gsc0JBQXNCO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvbGlicy9ydXZwcC1hbmd1bGFyMi1jb211bi9pbmRpY2Fkb3ItY2FyZ2EvaW5kaWNhZG9yLWNhcmdhLmNvbXBvbmVudGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogTG9hZGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLkZha2Vsb2FkZXItbG9hZGluZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5Mb2FkaW5nIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLkxvYWRpbmcgLkZha2Vsb2FkZXIge1xyXG5oZWlnaHQ6IDEwMCU7XHJcbmJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi5GYWtlbG9hZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwNTtcclxufVxyXG5cclxuLkZha2Vsb2FkZXJfZnVsbHNjcmVlbiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxNTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5GYWtlbG9hZGVyLmZha2Vsb2FkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG59XHJcblxyXG4uRmFrZWxvYWRlciAuc3Bpbm5lcjMge1xyXG4gICAgbGVmdDogNDglICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XHJcbn1cclxuXHJcbi5GYWtlbG9hZGVyIC5jb250YWluZXIxID4gZGl2LCAuRmFrZWxvYWRlciAuY29udGFpbmVyMiA+IGRpdiwgLkZha2Vsb2FkZXIgLmNvbnRhaW5lcjMgPiBkaXYge1xyXG4gICAgYmFja2dyb3VuZDogIzdBQzI0MyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uRmFrZWxvYWRlciAuZG90MSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgIzdBQzI0MywgIzdBQzI0MywgIzAwOUNEQyAxMDAlKSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICM3QUMyNDMsICM3QUMyNDMsICMwMDlDREMgMTAwJSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRvdDIge1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsICM3QUMyNDMsICM3QUMyNDMsICMwMDlDREMgMTAwJSkgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAjN0FDMjQzLCAjN0FDMjQzLCAjMDA5Q0RDIDEwMCUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5GYWtlbG9hZGVyLXRleHQge1xyXG4gICAgdG9wOiA0OCUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLkZha2Vsb2FkZXItdGV4dC1kb3Mge1xyXG4gIHRvcDogNDglICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogODBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC8qdGV4dC1hbGlnbjogY2VudGVyOyovXHJcbn1cclxuIl19 */\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Observable, Subject, Subscription } from 'rxjs';\r\nimport { EstatusIndicador } from './estatusIndicadorCarga';\r\nimport { ServicioIndicadorCarga } from './indicador-carga.servicio';\r\n\r\n/**\r\n * Componente que muestra un indicador de carga al usuario.\r\n */\r\n@Component({\r\n //moduleId: module.id,\r\n selector: 'ruv-indicador-carga',\r\n templateUrl: 'indicador-carga.componente.html',\r\n styleUrls: ['indicador-carga.componente.css']\r\n})\r\n\r\nexport class ComponenteIndicadorCarga implements OnDestroy, OnInit {\r\n\r\n //#region Propiedades\r\n\r\n /**\r\n * Información de despliegue y mensaje del loader.\r\n * @type {{esVisible: boolean, mensaje: string}}\r\n */\r\n public estatus: EstatusIndicador =\r\n {\r\n esVisible: false,\r\n mensaje: '',\r\n esFullScreen: false\r\n };\r\n\r\n //#endregion\r\n\r\n //#region Campos\r\n\r\n /**\r\n * Subscripción al cambio de estatus.\r\n */\r\n private subscripcionCambioEstatus: Subscription;\r\n\r\n //#endregion\r\n\r\n //#region Constructor\r\n\r\n /**\r\n * Contructor de la clase.\r\n * @param servicioLoader Servicio para mostrar indicadores de carga al usuario.\r\n */\r\n constructor(private servicioCargaIndicador: ServicioIndicadorCarga) { }\r\n\r\n //#endregion\r\n\r\n //#region Eventos del ciclo de vida\r\n\r\n /** @inheritdoc */\r\n ngOnInit() {\r\n this.subscripcionCambioEstatus = this.servicioCargaIndicador.onCambioEstatus\r\n .subscribe(nuevoEstatus => {\r\n this.estatus = nuevoEstatus;\r\n });\r\n }\r\n\r\n /** @inheritdoc */\r\n ngOnDestroy() {\r\n this.subscripcionCambioEstatus.unsubscribe();\r\n }\r\n\r\n //#endregion\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { EstatusIndicador } from './estatusIndicadorCarga';\r\n\r\n/**\r\n * Servicio que permite mostrar indicadores de carga al usuario.\r\n */\r\n@Injectable()\r\nexport class ServicioIndicadorCarga {\r\n //#region Propiedades\r\n \r\n /** Evento que emite elementos cuando se solicita una pantalla de carga. */\r\n public onCambioEstatus = new Subject();\r\n\r\n /** Propiedad que indica si la pantalla de carga de mostrara en modo full screen. */\r\n public esFullScreen: boolean = false;\r\n \r\n //#endregion\r\n \r\n //#region Metodos publicos\r\n\r\n /**\r\n * Muestra un indicadores de carga con o sin mensaje.\r\n * @param mensaje Mensaje a mostrar en el indicador de carga.\r\n */\r\n public mostrar(mensaje?: string) {\r\n this.onCambioEstatus.next({ esVisible: true, mensaje: mensaje, esFullScreen: this.esFullScreen });\r\n }\r\n\r\n /**\r\n * Oculta el indicador de carga.\r\n */\r\n public ocultar() {\r\n this.onCambioEstatus.next({ esVisible: false });\r\n }\r\n\r\n /**\r\n * Establece el modo del indicador de carga (Full screen o no).\r\n */\r\n public setFullScreen(esFullScreen: boolean) {\r\n\r\n this.esFullScreen = esFullScreen;\r\n }\r\n \r\n //#endregion\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { SelectItem } from 'primeng/api/selectitem';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { FormValidation, HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { AvanceObraDTO, CatalogoProspectoVenta, CatalogoTipoAccion, InputReporte, OutputReporteAvanceObra, OutputVistaInformacionGeneral, PeriodoAvanceObra, PorcentajesConceptosGeneralesObra, SeguridadSalida } from 'src/app/modelo';\r\nimport { DatePipe } from '@angular/common';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-avance-obra',\r\n templateUrl: './avance-obra.component.html',\r\n //styleUrls: ['./avance-obra.component.css']\r\n})\r\nexport class AvanceObraComponent implements OnInit {\r\n\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public avanceObra: OutputReporteAvanceObra;\r\n public entity: AvanceObraDTO;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public periodoAvanceObra: PeriodoAvanceObra;\r\n public reporteIntermedio: boolean = false;\r\n public listNoPeriodo: SelectItem[];\r\n\r\n\r\n //Validaciones\r\n\r\n public periodoDel_MensajeError: FormValidation = new FormValidation(null);\r\n public periodoAl_MensajeError: FormValidation = new FormValidation(null);\r\n public disabled_BtnGuardar: boolean;\r\n\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('AvanceObraComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n async ngOnInit() {\r\n this.avanceObra = {\r\n periodoAvanceObra: {},\r\n porcentajesConceptosGeneralesObra: {},\r\n listaAvanceObra: [],\r\n listCatalogoTipoAccion: [],\r\n listCatalogoProspectoVenta: []\r\n };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n\r\n await this.loading();\r\n\r\n //this.avanceObra.periodoAvanceObra.fechaDel = HttpSession.addDays(new Date(), -1);\r\n //this.avanceObra.periodoAvanceObra.fechaAl = HttpSession.addDays(this.avanceObra.periodoAvanceObra.fechaDel, 15);\r\n }\r\n\r\n\r\n /**\r\n * \r\n */\r\n private async loading() {\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteAvanceObra(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.avanceObra = resultado.model;\r\n //this.avanceObra.claveEstatus = 0;\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaDel_SF != null) {\r\n this.avanceObra.periodoAvanceObra.fechaDel_SF = new Date(this.avanceObra.periodoAvanceObra.fechaDel_SF);\r\n }\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaAl_SF != null) {\r\n this.avanceObra.periodoAvanceObra.fechaAl_SF = new Date(this.avanceObra.periodoAvanceObra.fechaAl_SF);\r\n }\r\n\r\n this.periodoAvanceObra = Util.clone(this.avanceObra.periodoAvanceObra);\r\n\r\n if (this.periodoAvanceObra.fechaDel_SF != null) {\r\n this.periodoAvanceObra.fechaDel_SF = new Date(this.periodoAvanceObra.fechaDel_SF);\r\n }\r\n\r\n if (this.periodoAvanceObra.fechaAl_SF != null) {\r\n this.periodoAvanceObra.fechaAl_SF = new Date(this.periodoAvanceObra.fechaAl_SF);\r\n }\r\n\r\n this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceUrbanizacion_TMP = this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceUrbanizacion;\r\n\r\n this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceInfraestructura_TMP = this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceInfraestructura;\r\n\r\n this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceEquipamiento_TMP = this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceEquipamiento;\r\n\r\n if (this.avanceObra.listaAvanceObra != null && this.avanceObra.listaAvanceObra.length > 0) {\r\n\r\n this.entity = this.avanceObra.listaAvanceObra[0];\r\n\r\n for (let row of this.avanceObra.listaAvanceObra) {\r\n row.porcentajeAvance_TMP = row.porcentajeAvance;\r\n row.cumpleTipologia_TMP = row.cumpleTipologia;\r\n }\r\n\r\n this.avanceObra.periodoAvanceObra.valPeriodoReporte = this.avanceObra.periodoAvanceObra.periodoReporte;\r\n\r\n this.avanceObra.periodoAvanceObra.reporteIntermedio_TMP = this.avanceObra.periodoAvanceObra.reporteIntermedio;\r\n\r\n this.avanceObra.periodoAvanceObra.verReporteIntermedio_TMP = this.avanceObra.periodoAvanceObra.verReporteIntermedio;\r\n\r\n this.onChangeIsReporteIntermedio(true);\r\n\r\n console.log('this.reporteIntermedio -->> ', this.reporteIntermedio)\r\n\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelect(entity: any): void {\r\n\r\n let object: AvanceObraDTO = this.avanceObra.listaAvanceObra.filter(row => row.indentificadorVivienda == entity.indentificadorVivienda)[0];\r\n\r\n this.entity = object;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumpleTipologia(entity: any, value: number) {\r\n entity.cumpleTipologia = value;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumpleSuperficieTotalHabitable(entity: any, value: number) {\r\n //entity.cumpleSuperficieTotalHabitable = value;\r\n entity.cumpleSuperficieHabitable = value;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getDateSpanish(): any {\r\n return Util.getDateSpanish();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private async getPorcentaje() {\r\n\r\n let promedioConceptosGenerales: number = ((this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceUrbanizacion + this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceInfraestructura + this.avanceObra.porcentajesConceptosGeneralesObra.porcentajeAvanceEquipamiento) / 3) * 0.15;\r\n\r\n let promedioAvanceObra: number = 0;\r\n\r\n for (let row of this.avanceObra.listaAvanceObra) {\r\n\r\n promedioAvanceObra += row.porcentajeAvance;\r\n\r\n row.numeroReporte = this.avanceObra.periodoAvanceObra.periodoReporte;\r\n }\r\n\r\n promedioAvanceObra = (promedioAvanceObra / this.avanceObra.listaAvanceObra.length) * 0.85;\r\n\r\n let porcentajeAvance: number = promedioConceptosGenerales + promedioAvanceObra;\r\n\r\n this.avanceObra.porcentajeAvance = Math.trunc(porcentajeAvance);\r\n\r\n this.avanceObra.idOrdenVerificacion = this.vistaInformacionGeneral.ordenVerificacion;\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public validarFormumlario(): boolean {\r\n\r\n var error = false;\r\n\r\n this.periodoDel_MensajeError = this.actualizarErrores('periodoDel');\r\n\r\n if (this.periodoDel_MensajeError.error == true) {\r\n error = true;\r\n }\r\n\r\n this.periodoAl_MensajeError = this.actualizarErrores('periodoAl');\r\n\r\n if (this.periodoAl_MensajeError.error == true) {\r\n error = true;\r\n }\r\n\r\n return error;\r\n }\r\n\r\n /**\r\n * \r\n * @param tipo\r\n */\r\n public actualizarErrores(tipo: string): FormValidation {\r\n\r\n let error: FormValidation = null;\r\n\r\n switch (tipo) {\r\n\r\n case 'periodoDel':\r\n\r\n this.periodoDel_MensajeError = new FormValidation(null);\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaDel_SF == null) {\r\n this.periodoDel_MensajeError = new FormValidation(null).requered('La Fecha periodo inicial es obligatorio');\r\n } else {\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaDel_SF != null && this.reporteIntermedio == false) {\r\n\r\n if (this.avanceObra.periodoAvanceObra.valPeriodoReporte == 1) {\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaAl_SF != null && (this.avanceObra.periodoAvanceObra.fechaDel_SF >= this.avanceObra.periodoAvanceObra.fechaAl_SF)) {\r\n this.periodoDel_MensajeError = new FormValidation(null).requered('La Fecha periodo inicial debe ser menor a la Fecha periodo final');\r\n }\r\n\r\n } else {\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaDel_SF <= this.periodoAvanceObra.fechaAl_SF) {\r\n this.periodoDel_MensajeError = new FormValidation(null).requered('La Fecha periodo inicial debe ser mayor a la Fecha periodo final del periodo anterior');\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n error = this.periodoDel_MensajeError;\r\n\r\n break;\r\n\r\n case 'periodoAl':\r\n\r\n this.periodoAl_MensajeError = new FormValidation(null);\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaAl_SF == null) {\r\n this.periodoAl_MensajeError = new FormValidation(null).requered('La Fecha periodo final es obligatorio');\r\n } else {\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaAl_SF != null && this.reporteIntermedio == false) {\r\n\r\n let validacion: boolean = true;\r\n\r\n if (this.avanceObra.periodoAvanceObra.fechaAl_SF <= this.avanceObra.periodoAvanceObra.fechaDel_SF) {\r\n this.periodoAl_MensajeError = new FormValidation(null).requered('La Fecha periodo final debe ser mayor a la Fecha periodo inicial');\r\n validacion = false;\r\n }\r\n\r\n if (validacion && this.avanceObra.periodoAvanceObra.valPeriodoReporte > 1) {\r\n\r\n const periodoAl = moment(this.avanceObra.periodoAvanceObra.fechaAl_SF);\r\n\r\n let diasDiferencia: number = periodoAl.diff(this.avanceObra.periodoAvanceObra.fechaDel_SF, 'days');\r\n\r\n if (diasDiferencia < 10) {\r\n this.periodoAl_MensajeError = new FormValidation(null).requered('Entre la fecha periodo inicial y fecha periodo final, debe existir un intervalo de 10 días.');\r\n validacion = false;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n error = this.periodoAl_MensajeError;\r\n\r\n break;\r\n }\r\n\r\n return error;\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n if (!this.validarFormumlario()) {\r\n\r\n var datePipe = new DatePipe('en-US');\r\n\r\n await this.getPorcentaje();\r\n\r\n this.avanceObra.periodoAvanceObra.reporteIntermedio = this.reporteIntermedio;\r\n\r\n this.avanceObra.periodoAvanceObra.fechaDel = datePipe.transform(this.avanceObra.periodoAvanceObra.fechaDel_SF, \"dd/MM/yyyy\");\r\n\r\n this.avanceObra.periodoAvanceObra.fechaAl = datePipe.transform(this.avanceObra.periodoAvanceObra.fechaAl_SF, \"dd/MM/yyyy\");\r\n\r\n let json = JSON.stringify(this.avanceObra);\r\n\r\n let avanceObra: OutputReporteAvanceObra = JSON.parse(json);\r\n\r\n avanceObra.listCatalogoTipoAccion = null;\r\n\r\n avanceObra.listCatalogoProspectoVenta = null;\r\n\r\n avanceObra.periodoAvanceObra.periodoReporte = this.avanceObra.periodoAvanceObra.valPeriodoReporte;\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de reporte de avance de obra ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteAvanceObra(avanceObra).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n\r\n var strCallback = (): void => {\r\n this.Regresar();\r\n }\r\n\r\n let value = Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success', false, strCallback);\r\n }\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n console.error('Guardar() -->> ', resultado.message);\r\n }\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Existen datos incorrectos, favor de corregir...', 'warning');\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param index\r\n */\r\n private getListNoPeriodo(index: number | null): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n if (index == null || index == 0) {\r\n index = 1;\r\n }\r\n\r\n let inicio: number = index;\r\n\r\n let final: number = 100; //index;\r\n\r\n for (let x = inicio; x <= final; x++) {\r\n lista.push({ label: x + '', value: x })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getListProspectoVenta(): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let row of this.avanceObra.listCatalogoProspectoVenta) {\r\n lista.push({ label: row.descripcion, value: row.id })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param idProspectoVenta\r\n */\r\n public getProspectoVenta(idProspectoVenta): string {\r\n\r\n let value: string = 'Ninguno';\r\n\r\n let lista: CatalogoProspectoVenta[] = this.avanceObra.listCatalogoProspectoVenta.filter(row => row.id == idProspectoVenta);\r\n\r\n if (lista != null && lista.length > 0) {\r\n value = lista[0].descripcion;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getListTipoAccion(): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let row of this.avanceObra.listCatalogoTipoAccion) {\r\n lista.push({ label: row.descripcion, value: row.id })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param idTipoAccion\r\n */\r\n public getTipoAccion(idTipoAccion): string {\r\n\r\n let value: string = 'Ninguno';\r\n\r\n let lista: CatalogoTipoAccion[] = this.avanceObra.listCatalogoTipoAccion.filter(row => row.id == idTipoAccion);\r\n\r\n if (lista != null && lista.length > 0) {\r\n value = lista[0].descripcion;\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getListTipologia(): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let x = 21; x <= 30; x++) {\r\n lista.push({ label: x + '', value: x })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param index\r\n */\r\n public getListPorcentaje(index: number): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let x = index; x <= 100; x++) {\r\n lista.push({ label: x + '', value: x })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param inicio\r\n */\r\n public onChangeIsReporteIntermedio(inicio: boolean): void {\r\n\r\n //if (inicio == true) {\r\n // this.avanceObra.periodoAvanceObra.valPeriodoReporte++;\r\n //}\r\n\r\n if (this.avanceObra.periodoAvanceObra.periodoReporte == null || this.avanceObra.periodoAvanceObra.periodoReporte == 0) {\r\n this.avanceObra.periodoAvanceObra.valPeriodoReporte = 1;\r\n }\r\n\r\n this.reporteIntermedio = false;\r\n\r\n this.avanceObra.periodoAvanceObra.verReporteIntermedio = false;\r\n\r\n if (inicio == true) {\r\n this.avanceObra.periodoAvanceObra.reporteIntermedio = false;\r\n }\r\n\r\n if (this.avanceObra.periodoAvanceObra.periodoReporte == this.avanceObra.periodoAvanceObra.valPeriodoReporte) {\r\n this.reporteIntermedio = true;\r\n this.avanceObra.periodoAvanceObra.verReporteIntermedio = true;\r\n }\r\n\r\n if (this.avanceObra.periodoAvanceObra.periodoReporte < this.avanceObra.periodoAvanceObra.valPeriodoReporte) {\r\n this.avanceObra.periodoAvanceObra.reporteIntermedio = false;\r\n }\r\n\r\n this.listNoPeriodo = this.getListNoPeriodo(this.avanceObra.periodoAvanceObra.periodoReporte);\r\n\r\n if (this.reporteIntermedio == true) {\r\n this.periodoDel_MensajeError = new FormValidation(null);\r\n this.periodoAl_MensajeError = new FormValidation(null);\r\n this.avanceObra.periodoAvanceObra.fechaDel_SF = new Date(this.avanceObra.periodoAvanceObra.fechaDel_SF);\r\n this.avanceObra.periodoAvanceObra.fechaAl_SF = new Date(this.avanceObra.periodoAvanceObra.fechaAl_SF);\r\n this.avanceObra.periodoAvanceObra.valPeriodoReporte = this.periodoAvanceObra.periodoReporte;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public onChangePeriodo() {\r\n this.onChangeIsReporteIntermedio(false);\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param idOpcion\r\n */\r\n public getDisabled(entity: AvanceObraDTO, idOpcion: number | null): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n resultado = this.getClaveEstatus();\r\n\r\n /*if (this.avanceObra.claveEstatus != 0) {\r\n resultado = true;\r\n }*/\r\n\r\n if (entity != null) {\r\n\r\n if (idOpcion != null) {\r\n\r\n switch (idOpcion) {\r\n\r\n case 1:\r\n {\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.verObraNegra == false) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 2:\r\n {\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.verProspectoVenta == false) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 3:\r\n {\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.verIndicadorCalidad == false) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 4:\r\n {\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.verTipoAccion == false) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 5:\r\n {\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.verCumpleTipologia == false) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.cumpleTipologia_TMP == 1) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 6:\r\n {\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.verCumpleSuperficieHabitable == false) {\r\n resultado = true;\r\n }\r\n\r\n //if (entity.cumpleTipologia_TMP == 1) {\r\n // resultado = true;\r\n //}\r\n\r\n if (entity.porcentajeAvance_TMP <= 50) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 7:\r\n {\r\n //porcentajeAvance\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 8:\r\n {\r\n //superficieHabitable\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 9:\r\n {\r\n //observaciones\r\n if (entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public disabledGuardar(): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n let claveEstatus: number = 0;\r\n\r\n resultado = this.getClaveEstatus();\r\n\r\n /*if (this.avanceObra.claveEstatus != 0) {\r\n resultado = true;\r\n }*/\r\n\r\n if (this.avanceObra.periodoAvanceObra.periodoReporte == this.avanceObra.periodoAvanceObra.valPeriodoReporte && this.avanceObra.periodoAvanceObra.reporteIntermedio == false) {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private getClaveEstatus(): boolean {\r\n\r\n let disabledClaveEstatus: boolean = false;\r\n\r\n let numClaveEstatus: number = 0;\r\n\r\n for (let row of this.avanceObra.listaAvanceObra) {\r\n\r\n if (row.claveEstatus != 0) {\r\n numClaveEstatus++;\r\n }\r\n\r\n }\r\n\r\n if (numClaveEstatus == this.avanceObra.listaAvanceObra.length) {\r\n disabledClaveEstatus = true;\r\n }\r\n\r\n return disabledClaveEstatus;\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { SelectItem } from 'primeng/api/selectitem';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { InputReporte, OutputReporteFuncionamiento, OutputVistaInformacionGeneral, SeguridadSalida, OutputReporteDonacionesEquipamiento, ConsultaDonacionDTO } from 'src/app/modelo';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-donaciones-equipamiento',\r\n templateUrl: './donaciones-equipamiento.component.html',\r\n //styleUrls: ['./ecotecnologias-atributos.component.css']\r\n})\r\nexport class DonacionesEquipamientoComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public donacionesEquipamiento: OutputReporteDonacionesEquipamiento;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public btn_Disabled: boolean;\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('DonacionesEquipamientoComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n this.donacionesEquipamiento = { listConsultaDonacionDTO: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n this.btn_Disabled = true;\r\n\r\n this.donacionesEquipamiento = { listConsultaDonacionDTO: [] };\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteDonacionesEquipamiento(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.donacionesEquipamiento = resultado.model;\r\n\r\n for (let row of this.donacionesEquipamiento.listConsultaDonacionDTO) {\r\n row.cumple_TMPS = row.cumple;\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de funcionamiento ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteDonacionesEquipamiento(this.donacionesEquipamiento).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n\r\n this.loading();\r\n\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success');\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n }\r\n\r\n }\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Descargar() {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelectDonacionesEquipamiento(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselectDonacionesEquipamiento(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getDisabledDonacionesEquipamiento(entity: ConsultaDonacionDTO): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (entity.cumple == 0 || entity.cumple == 1) {\r\n resultado = true;\r\n } \r\n\r\n return resultado;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumplimientoDonacionesEquipamiento(entity: ConsultaDonacionDTO, value: number) {\r\n entity.actualizado = true;\r\n entity.cumple_TMPS = value;\r\n this.btn_Disabled = false;\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { EcotecnologiaDTO, InputReporte, OutputReporteEcotecnologia, OutputVistaInformacionGeneral, SeguridadSalida, ViviendaDTO, Atributos, InputReporteEcotecnologia } from 'src/app/modelo';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-ecotecnologias-atributos',\r\n templateUrl: './ecotecnologias-atributos.component.html',\r\n //styleUrls: ['./ecotecnologias-atributos.component.css']\r\n})\r\nexport class EcotecnologiasAtributosComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public ecotecnologia: OutputReporteEcotecnologia;\r\n public entity: ViviendaDTO;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public btn_Disabled: boolean;\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('EcotecnologiasAtributosComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n this.entity = {};\r\n this.ecotecnologia = { listaViviendas: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n this.btn_Disabled = true;\r\n\r\n this.entity = {};\r\n\r\n this.ecotecnologia = { listaViviendas: [] };\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteEcotecnologia(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.ecotecnologia = resultado.model;\r\n\r\n if (this.ecotecnologia.listaViviendas != null && this.ecotecnologia.listaViviendas.length > 0) {\r\n\r\n this.entity = this.ecotecnologia.listaViviendas[0];\r\n\r\n //this.entity.claveEstatus = 0;\r\n\r\n for (let vivienda of this.ecotecnologia.listaViviendas) {\r\n\r\n for (let atributo of vivienda.listAtributos) {\r\n atributo.cumple_TMPS = atributo.cumple;\r\n atributo.actualizado = false;\r\n }\r\n\r\n for (let ecotecnologia of vivienda.listaEcotecnologia) {\r\n ecotecnologia.cumpleEcotecnologia_TMPS = ecotecnologia.cumpleEcotecnologia;\r\n ecotecnologia.actualizado = false;\r\n }\r\n\r\n }\r\n\r\n this.btn_Disabled = false;\r\n\r\n this.validacionVerEcotecnologiasAtributos();\r\n\r\n this.setIconVivienda();\r\n\r\n this.setClaveEstatusDescripcion();\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', `El estatus de la vivienda es : ${this.entity.claveEstatusDescripcion}`, 'warning', true);\r\n }\r\n\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelect(entity: ViviendaDTO): void {\r\n\r\n let object: ViviendaDTO = this.ecotecnologia.listaViviendas.filter(row => row.indentificadorVivienda == entity.indentificadorVivienda)[0];\r\n\r\n this.entity = object;\r\n\r\n this.setClaveEstatusDescripcion();\r\n\r\n this.validacionVerEcotecnologiasAtributos();\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelectEcotecnologia(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselectEcotecnologia(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private validacionVerEcotecnologiasAtributos(): void {\r\n\r\n if (this.entity.esAmpliada == null && this.entity.esEcotecnologia == null && this.entity.esAtributo == null) {\r\n this.entity.esEcotecnologia = 1;\r\n this.entity.esAtributo = 1;\r\n } else { \r\n if (this.entity.esAmpliada == 1) {\r\n this.entity.esEcotecnologia = 1;\r\n this.entity.esAtributo = 1;\r\n } \r\n }\r\n\r\n this.btn_Disabled = true;\r\n\r\n if (this.entity.esAtributo == 1 || this.entity.esEcotecnologia == 1) {\r\n this.btn_Disabled = false;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private setClaveEstatusDescripcion(): void {\r\n switch (this.entity.claveEstatus) {\r\n case 0: this.entity.claveEstatusDescripcion = 'Disponible'; break;\r\n case 1: this.entity.claveEstatusDescripcion = 'Crédito solicitado'; break;\r\n case 3: this.entity.claveEstatusDescripcion = 'Individualizada'; break;\r\n case 4: this.entity.claveEstatusDescripcion = 'Cancelada'; break;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private setIconVivienda(): void {\r\n\r\n if (this.ecotecnologia != null && this.ecotecnologia.listaViviendas != null) {\r\n\r\n for (let vivienda of this.ecotecnologia.listaViviendas) {\r\n\r\n let estatus: number | null = null;\r\n let cumple: number = 0;\r\n let noCumple: number = 0;\r\n let sinCalificar: number = 0;\r\n\r\n let contador: number = vivienda.listAtributos.length + vivienda.listaEcotecnologia.length;\r\n\r\n for (let atributo of vivienda.listAtributos) {\r\n\r\n if (atributo.cumple == 1) {\r\n cumple++;\r\n } else {\r\n\r\n if (atributo.cumple == 0) {\r\n noCumple++;\r\n } else {\r\n sinCalificar++;\r\n }\r\n }\r\n }\r\n\r\n for (let ecotecnologia of vivienda.listaEcotecnologia) {\r\n\r\n if (ecotecnologia.cumpleEcotecnologia == '1') {\r\n cumple++;\r\n } else {\r\n\r\n if (ecotecnologia.cumpleEcotecnologia == '0') {\r\n noCumple++;\r\n } else {\r\n sinCalificar++;\r\n }\r\n }\r\n\r\n }\r\n\r\n if (contador > 0 && contador == cumple) {\r\n estatus = 1;\r\n } else {\r\n\r\n if (noCumple > 0) {\r\n estatus = 0;\r\n }\r\n\r\n }\r\n\r\n vivienda.estatus = estatus;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n let inputReporteEcotecnologia: InputReporteEcotecnologia = {};\r\n\r\n let listaViviendas: ViviendaDTO[] = [];\r\n\r\n for (let viviendas of this.ecotecnologia.listaViviendas) {\r\n\r\n let listAtributos: Atributos[] = viviendas.listAtributos.filter(row => row.actualizado == true);\r\n\r\n for (let row of listAtributos) {\r\n row.cumple = row.cumple_TMPS;\r\n }\r\n\r\n let listEcotecnologias: EcotecnologiaDTO[] = viviendas.listaEcotecnologia.filter(row => row.actualizado == true);\r\n\r\n for (let row of listEcotecnologias) {\r\n row.cumpleEcotecnologia = row.cumpleEcotecnologia_TMPS;\r\n }\r\n\r\n let vivienda: ViviendaDTO = Util.clone(viviendas);\r\n\r\n vivienda.listAtributos = listAtributos;\r\n\r\n vivienda.listaEcotecnologia = listEcotecnologias;\r\n\r\n if (vivienda.listAtributos.length > 0 || vivienda.listaEcotecnologia.length > 0) {\r\n listaViviendas.push(vivienda);\r\n }\r\n\r\n }\r\n\r\n inputReporteEcotecnologia.listaViviendas = listaViviendas;\r\n\r\n inputReporteEcotecnologia.ordenVerificacion = this.ecotecnologia.ordenVerificacion;\r\n\r\n if (listaViviendas != null && listaViviendas.length > 0) {\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de reporte de ecotecnologías y atributos ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteEcotecnologia(inputReporteEcotecnologia).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n\r\n var strCallback = (): void => {\r\n this.Regresar();\r\n }\r\n\r\n let value = Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success', false, strCallback);\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n }\r\n\r\n }\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Para enviar a guardar la información, se necesita realizar una calificación [Atributo, Ecotecnología]...', 'warning');\r\n }\r\n\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumplimientoAtributos(entity: Atributos, value: number) {\r\n entity.actualizado = true;\r\n entity.cumple_TMPS = value;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumplimientoeEcotecnologia(entity: EcotecnologiaDTO, value: number) {\r\n entity.actualizado = true;\r\n entity.cumpleEcotecnologia_TMPS = value.toString();\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getDisabledAtributos(entity: Atributos): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus == 0) {\r\n\r\n if (entity.cumple == 1) {\r\n resultado = true;\r\n } else {\r\n\r\n if (entity.calificable == true) {\r\n\r\n if (entity.calificableEnFuncion == 1) {\r\n\r\n if (entity.valorFuncionamiento == 4 || entity.valorFuncionamiento == 5) {\r\n resultado = true;\r\n } else {\r\n resultado = false;\r\n }\r\n\r\n\r\n } else {\r\n resultado = false;\r\n }\r\n\r\n\r\n } else {\r\n resultado = true;\r\n }\r\n }\r\n\r\n\r\n } else {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getDisabledEcotecnologias(entity: EcotecnologiaDTO): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity != null && entity.cumpleEcotecnologia == '1') {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { SelectItem } from 'primeng/api/selectitem';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { InputReporte, OutputReporteFuncionamiento, OutputVistaInformacionGeneral, SeguridadSalida, FuncionamientoDTO } from 'src/app/modelo';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-funcionamiento',\r\n templateUrl: './funcionamiento.component.html',\r\n //styleUrls: ['./ecotecnologias-atributos.component.css']\r\n})\r\nexport class FuncionamientoComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public funcionamiento: OutputReporteFuncionamiento;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public btn_Disabled: boolean;\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('FuncionamientoComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n this.funcionamiento = { listaFuncionamiento: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n this.btn_Disabled = true;\r\n\r\n this.funcionamiento = { listaFuncionamiento: [] };\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteFuncionamiento(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.funcionamiento = resultado.model;\r\n\r\n for (let row of this.funcionamiento.listaFuncionamiento) {\r\n row.enFuncion_TMPS = row.enFuncion;\r\n }\r\n\r\n if (this.funcionamiento.listaFuncionamiento.length > 0) {\r\n this.btn_Disabled = false;\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getCatalogoFuncionamiento(entity: FuncionamientoDTO): SelectItem[] {\r\n\r\n let listaFuncionamiento: SelectItem[] = [];\r\n\r\n let filter = this.funcionamiento.listaCatalogoFuncionamiento.filter(row => row.idCatalogoFuncionamiento == entity.enFuncion_TMPS);\r\n\r\n let prioridad: number = 0;\r\n\r\n if (filter != null && filter.length > 0) {\r\n prioridad = filter[0].prioridad\r\n }\r\n\r\n filter = this.funcionamiento.listaCatalogoFuncionamiento.filter(row => row.prioridad >= prioridad)\r\n\r\n if (this.funcionamiento != null && filter != null) {\r\n\r\n filter = filter.sort((n1, n2) => {\r\n if (n1.prioridad > n2.prioridad) {\r\n return 1;\r\n }\r\n\r\n if (n1.prioridad < n2.prioridad) {\r\n return -1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n for (let row of filter) {\r\n listaFuncionamiento.push({ label: row.descripcion, value: row.idCatalogoFuncionamiento })\r\n }\r\n\r\n }\r\n\r\n return listaFuncionamiento;\r\n }\r\n\r\n /**\r\n * \r\n * @param prioridad\r\n */\r\n public getFuncionamiento(enFuncion: number): string {\r\n\r\n let texto: string;\r\n\r\n let filter = this.funcionamiento.listaCatalogoFuncionamiento.filter(row => row.idCatalogoFuncionamiento == enFuncion);\r\n\r\n if (filter != null && filter.length > 0) {\r\n texto = filter[0].descripcion;\r\n }\r\n\r\n return texto;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de funcionamiento ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteFuncionamiento(this.funcionamiento).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success');\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n }\r\n\r\n }\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Descargar() {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelectFuncionamiento(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselectFuncionamiento(entity: any): void {\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { FormValidation, HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { HabitabilidadDetalleDTO, HabitabilidadDTO, InputReporte, OutputReporteHabitabilidad, OutputVistaInformacionGeneral, SeguridadSalida, TipoHabitabilidad } from 'src/app/modelo';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-habitabilidad',\r\n templateUrl: './habitabilidad.component.html',\r\n //styleUrls: ['./ecotecnologias-atributos.component.css']\r\n})\r\nexport class HabitabilidadComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public habitabilidad: OutputReporteHabitabilidad;\r\n public entity: HabitabilidadDTO;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public btn_Disabled: boolean;\r\n\r\n\r\n //Validaciones\r\n\r\n public entregables_MensajeError: FormValidation = new FormValidation(null);\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('HabitabilidadComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n this.entity = {};\r\n this.habitabilidad = { listaHabitabilidad: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading(null);\r\n }\r\n \r\n\r\n /**\r\n * \r\n * @param idVivienda\r\n */\r\n public async loading(idVivienda:number | null) {\r\n\r\n this.btn_Disabled = true;\r\n\r\n this.entity = {};\r\n\r\n this.habitabilidad = { listaHabitabilidad: [] };\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteHabitabilidad(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.habitabilidad = resultado.model;\r\n\r\n if (this.habitabilidad.listaHabitabilidad != null && this.habitabilidad.listaHabitabilidad.length > 0) {\r\n\r\n for (let row of this.habitabilidad.listaHabitabilidad) {\r\n\r\n for (let habitabilidadDetalle of row.listHabitabilidadDetalle) {\r\n habitabilidadDetalle.actualizado = false;\r\n }\r\n\r\n for (let habitabilidadDetalleOpcionales of row.listHabitabilidadDetalleOpcionales) {\r\n habitabilidadDetalleOpcionales.actualizado = false;\r\n }\r\n }\r\n\r\n if (idVivienda == null) {\r\n\r\n this.entity = this.habitabilidad.listaHabitabilidad[0];\r\n\r\n this.entity.claveEstatus = this.habitabilidad.listaHabitabilidad[0].claveEstatus;\r\n\r\n } else {\r\n\r\n let filter = this.habitabilidad.listaHabitabilidad.filter(row => row.indentificadorVivienda == idVivienda);\r\n\r\n if (filter != null && filter.length > 0 ) {\r\n this.entity = filter[0];\r\n }\r\n \r\n }\r\n\r\n this.ExisteCumplimiento();\r\n\r\n //this.btn_Disabled = false;\r\n\r\n //this.entity.claveEstatus = 0;\r\n\r\n this.onRowSelect(this.entity);\r\n\r\n //Copiar valor propiedad \r\n\r\n for (let habitabilidad of this.habitabilidad.listaHabitabilidad) {\r\n\r\n for (let habitabilidadDetalle of habitabilidad.listHabitabilidadDetalle) {\r\n\r\n habitabilidadDetalle.condicion_TMP = habitabilidadDetalle.condicion;\r\n\r\n }\r\n\r\n for (let habitabilidadDetalle of habitabilidad.listHabitabilidadDetalleOpcionales) {\r\n\r\n habitabilidadDetalle.condicion_TMP = habitabilidadDetalle.condicion;\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelect(entity: HabitabilidadDTO): void {\r\n\r\n let object: HabitabilidadDTO = this.habitabilidad.listaHabitabilidad.filter(row => row.indentificadorVivienda == entity.indentificadorVivienda)[0];\r\n\r\n this.entity = object;\r\n\r\n this.entity.claveEstatus = entity.claveEstatus;\r\n\r\n this.entity.entregables = false;\r\n\r\n for (let row of this.entity.listHabitabilidadDetalleOpcionales) {\r\n\r\n if (row.condicion == 1) {\r\n this.entity.entregables = true;\r\n break;\r\n }\r\n\r\n }\r\n\r\n this.entity.entregables_TMPS = this.entity.entregables;\r\n\r\n this.ExisteCumplimiento();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private ExisteCumplimiento(): boolean {\r\n\r\n this.btn_Disabled = true;\r\n\r\n if (this.entity != null && this.entity.listHabitabilidadDetalle) {\r\n\r\n let contador: number = 0;\r\n\r\n for (let row of this.entity.listHabitabilidadDetalle) {\r\n\r\n if (row.rutaDocumento == null) {\r\n contador++;\r\n }\r\n\r\n }\r\n\r\n if (contador == 1 ) {\r\n this.btn_Disabled = false;\r\n }\r\n\r\n }\r\n\r\n return this.btn_Disabled;\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public validarFormumlario(): boolean {\r\n\r\n var error = false;\r\n\r\n this.entregables_MensajeError = this.actualizarErrores('entregables');\r\n\r\n if (this.entregables_MensajeError.error == true) {\r\n error = true;\r\n }\r\n\r\n return error;\r\n }\r\n\r\n /**\r\n * \r\n * @param tipo\r\n */\r\n public actualizarErrores(tipo: string): FormValidation {\r\n\r\n let error: FormValidation = null;\r\n\r\n switch (tipo) {\r\n\r\n case 'entregables':\r\n\r\n this.entregables_MensajeError = new FormValidation(null);\r\n\r\n if (this.entity.entregables == true) {\r\n\r\n let cont: number = this.entity.listHabitabilidadDetalleOpcionales.filter(row => row.condicion == 1).length;\r\n\r\n if (cont == 0) {\r\n this.entregables_MensajeError = new FormValidation(null).requered('Debe tener al menos un elemento seleccionado de la lista.');\r\n }\r\n\r\n }\r\n\r\n error = this.entregables_MensajeError;\r\n\r\n break;\r\n\r\n }\r\n\r\n return error;\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n if (!this.validarFormumlario()) {\r\n\r\n let reporteHabitabilidad: OutputReporteHabitabilidad = {\r\n ordenVerificacion: this.habitabilidad.ordenVerificacion,\r\n totalVivienda: this.habitabilidad.totalVivienda,\r\n nombreFrente: this.habitabilidad.nombreFrente,\r\n estatus: this.habitabilidad.estatus,\r\n claveEstatus: this.habitabilidad.claveEstatus,\r\n listTipoHabitabilidad: null\r\n };\r\n\r\n let listaHabitabilidad: HabitabilidadDTO[] = [];\r\n\r\n for (let listHabitabilidad of this.habitabilidad.listaHabitabilidad) {\r\n\r\n let contador: number = 0;\r\n\r\n let listHabitabilidadDetalle = listHabitabilidad.listHabitabilidadDetalle.filter(row => row.actualizado == true);\r\n\r\n let listHabitabilidadDetalleOpcionales = listHabitabilidad.listHabitabilidadDetalleOpcionales.filter(row => row.actualizado == true);\r\n\r\n if (listHabitabilidadDetalle.length > 0 || listHabitabilidadDetalleOpcionales.length > 0) {\r\n listaHabitabilidad.push(listHabitabilidad);\r\n }\r\n }\r\n\r\n reporteHabitabilidad.listaHabitabilidad = listaHabitabilidad;\r\n\r\n //let json = JSON.stringify(this.habitabilidad); \r\n\r\n let json = JSON.stringify(reporteHabitabilidad);\r\n\r\n let habitabilidad: OutputReporteHabitabilidad = JSON.parse(json);\r\n\r\n habitabilidad.listTipoHabitabilidad = null;\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de reporte habitabilidad ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteHabitabilidad(habitabilidad).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n\r\n var strCallback = (): void => {\r\n this.Regresar();\r\n }\r\n\r\n let value = Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success', false, strCallback);\r\n\r\n }\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n console.error(resultado.message)\r\n }\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Favor de validar los datos solicitados ...', 'warning');\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param property\r\n * @param value\r\n */\r\n public onChangeCumplimiento(entity: HabitabilidadDetalleDTO, value: number) {\r\n entity.condicion = value;\r\n entity.actualizado = true;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onLink(entity: HabitabilidadDetalleDTO) {\r\n\r\n this.habitabilidad.modal = true;\r\n\r\n switch (entity.idCatalogoDocumento) {\r\n case 1:\r\n //Energía eléctrica\r\n {\r\n this.habitabilidad.modalTitulo = 'Energía eléctrica';\r\n this.habitabilidad.url = entity.rutaDocumento;\r\n }\r\n break;\r\n case 2:\r\n //Agua\r\n {\r\n this.habitabilidad.modalTitulo = 'Agua';\r\n this.habitabilidad.url = entity.rutaDocumento;\r\n }\r\n break;\r\n case 3:\r\n //Drenaje y alcantarillado\r\n {\r\n this.habitabilidad.modalTitulo = 'Drenaje y alcantarillad';\r\n this.habitabilidad.url = entity.rutaDocumento;\r\n }\r\n\r\n break;\r\n case 4:\r\n //Condiciones físicas\r\n\r\n {\r\n this.habitabilidad.modalTitulo = 'Condiciones físicas';\r\n this.habitabilidad.url = entity.rutaDocumento;\r\n }\r\n\r\n break;\r\n\r\n }\r\n\r\n this.habitabilidad.imgVisible = false;\r\n\r\n if (this.habitabilidad.url != null) {\r\n\r\n this.habitabilidad.url = this.habitabilidad.url.toLowerCase();\r\n\r\n if (this.habitabilidad.url.includes('.jpg') == true ||\r\n this.habitabilidad.url.includes('.png') == true ||\r\n this.habitabilidad.url.includes('.gif') == true ||\r\n this.habitabilidad.url.includes('.bmp') == true) {\r\n this.habitabilidad.imgVisible = true;\r\n }\r\n\r\n } else {\r\n this.habitabilidad.modal = false;\r\n }\r\n\r\n console.log('this.habitabilidad.url -->> ', this.habitabilidad.url)\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public closeModal(): void {\r\n this.habitabilidad.modal = false;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public onChangeEntregables(): void {\r\n\r\n if (this.entity.entregables == false) {\r\n\r\n for (let row of this.entity.listHabitabilidadDetalleOpcionales) {\r\n row.condicion = 0;\r\n }\r\n\r\n this.actualizarErrores('entregables');\r\n }\r\n\r\n this.getDisabledOpcionales();\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param idTipoHabitabilidad\r\n */\r\n public getTipoHabitabilidad(idTipoHabitabilidad: number): number {\r\n\r\n let total: number = 0;\r\n\r\n if (this.habitabilidad != null && this.habitabilidad.listTipoHabitabilidad != null) {\r\n\r\n let lista: TipoHabitabilidad[] = this.habitabilidad.listTipoHabitabilidad.filter(row => row.tipoHabitabilidad == idTipoHabitabilidad);\r\n\r\n if (lista != null && lista.length > 0) {\r\n total = lista[0].total;\r\n }\r\n\r\n }\r\n\r\n return total;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param checked\r\n */\r\n public onChangeEntregablesOpcionales(entity: HabitabilidadDetalleDTO, checked: any): void {\r\n\r\n if (checked == true) {\r\n entity.condicion = 1;\r\n entity.actualizado = true;\r\n } else {\r\n entity.condicion = 0;\r\n entity.actualizado = false;\r\n }\r\n\r\n this.actualizarErrores('entregables');\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getDisabled(entity: HabitabilidadDetalleDTO): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity != null && (entity.condicion_TMP == 0 || entity.condicion_TMP == 1) ) {\r\n resultado = true;\r\n }\r\n\r\n if (this.ExisteCumplimiento() == true) {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n\r\n public getDisabledEntregables(): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (this.entity.listHabitabilidadDetalleOpcionales != null) {\r\n\r\n for (let row of this.entity.listHabitabilidadDetalleOpcionales) {\r\n\r\n if (row.condicion_TMP == 1) {\r\n resultado = true;\r\n break;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n if (this.ExisteCumplimiento() == true) {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getDisabledOpcionales(): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (this.entity.listHabitabilidadDetalleOpcionales != null) {\r\n\r\n for (let row of this.entity.listHabitabilidadDetalleOpcionales) {\r\n\r\n if (row.condicion_TMP == 1) {\r\n resultado = true;\r\n break;\r\n }\r\n\r\n }\r\n\r\n if (this.entity.entregables == false) {\r\n resultado = true;\r\n }\r\n\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n}\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { SelectItem } from 'primeng/api/selectitem';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { FormValidation, HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { InicioObraDTO, InputReporte, OutputReporteInicioObra, OutputVistaInformacionGeneral, SeguridadSalida } from 'src/app/modelo';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-inicio-obra',\r\n templateUrl: './inicio-obra.component.html',\r\n //styleUrls: ['./inicio-obra.component.css']\r\n})\r\nexport class InicioObraComponent implements OnInit {\r\n\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public inicioObra: OutputReporteInicioObra;\r\n public entity: InicioObraDTO;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n\r\n //Validaciones\r\n\r\n public observacionBitacoraObra_MensajeError: FormValidation = new FormValidation(null);\r\n public observacionPruebas_MensajeError: FormValidation = new FormValidation(null);\r\n public indicadorCalidad_MensajeError: FormValidation = new FormValidation(null);\r\n public minDate: Date;\r\n public maxDate: Date;\r\n\r\n\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n this.setMinMaxDate();\r\n\r\n }\r\n\r\n private setMinMaxDate(): void {\r\n\r\n let fecha: Date = new Date();\r\n\r\n fecha.setDate(fecha.getDate() - 15);\r\n\r\n this.minDate = fecha;\r\n\r\n this.maxDate = new Date();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n async ngOnInit() {\r\n this.inicioObra = { listaInicioObra: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getSelectItem(): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n if (this.inicioObra != null && this.inicioObra.listCatalogoNivel != null) {\r\n\r\n for (let row of this.inicioObra.listCatalogoNivel) {\r\n lista.push({ label: row.descripcion, value: row.idNivel });\r\n }\r\n\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteInicioObra(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.inicioObra = resultado.model;\r\n\r\n if (this.inicioObra.fecha1aVisita != null) {\r\n this.inicioObra.fecha1aVisita = new Date(this.inicioObra.fecha1aVisita);\r\n }\r\n\r\n if (this.inicioObra.listaInicioObra != null && this.inicioObra.listaInicioObra.length > 0) {\r\n\r\n this.entity = this.inicioObra.listaInicioObra[0];\r\n\r\n this.inicioObra.porcentajeAvanceUrbanizacion_TMP = this.inicioObra.porcentajeAvanceUrbanizacion;\r\n this.inicioObra.porcentajeAvanceInfraestructura_TMP = this.inicioObra.porcentajeAvanceInfraestructura;\r\n this.inicioObra.porcentajeAvanceEquipamiento_TMP = this.inicioObra.porcentajeAvanceEquipamiento;\r\n this.inicioObra.cumpleBitacoraObra_TMP = this.inicioObra.cumpleBitacoraObra;\r\n this.inicioObra.cumplePruebas_TMP = this.inicioObra.cumplePruebas;\r\n\r\n // Copiar valor propiedad\r\n\r\n for (let inicioObra of this.inicioObra.listaInicioObra) {\r\n inicioObra.criterioSinInicioObra_TMP = inicioObra.criterioSinInicioObra;\r\n inicioObra.indicadorCalidad_TMP = inicioObra.indicadorCalidad;\r\n this.inicioObra.claveEstatus = inicioObra.claveEstatus;\r\n }\r\n\r\n }\r\n\r\n this.onChangeListaPorcentajeObraEjecutada();\r\n\r\n this.setContadorCriterios();\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private onChangeListaPorcentajeObraEjecutada(): void {\r\n\r\n //Set Lista ( Porcentaje de obra ejecutada )\r\n\r\n if (this.inicioObra != null && this.inicioObra.listaInicioObra != null) {\r\n\r\n for (let row of this.inicioObra.listaInicioObra) {\r\n\r\n row.listaPorcentajeObraEjecutada = [];\r\n\r\n if (row.criterioSinInicioObra != 2) {\r\n\r\n switch (row.criterioSinInicioObra) {\r\n\r\n case 1:\r\n {\r\n for (let x = 1; x <= this.inicioObra.parametrosPorcentajeObraEjecutada.cumple; x++) {\r\n row.listaPorcentajeObraEjecutada.push({ label: x + '', value: x })\r\n }\r\n }\r\n break;\r\n\r\n case 0:\r\n {\r\n {\r\n for (let x = this.inicioObra.parametrosPorcentajeObraEjecutada.noCumple; x <= 100; x++) {\r\n row.listaPorcentajeObraEjecutada.push({ label: x + '', value: x })\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param idEdificio\r\n * @param value\r\n */\r\n private onChangeCriterio(idEdificio: number | null, value: number): void {\r\n\r\n if (this.inicioObra != null && this.inicioObra.listaInicioObra != null && idEdificio != null) {\r\n\r\n let lista = this.inicioObra.listaInicioObra.filter(row => row.idEdificio == idEdificio);\r\n\r\n if (lista != null) {\r\n\r\n for (let row of lista) {\r\n row.criterioSinInicioObra = value;\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private setContadorCriterios(): void {\r\n\r\n if (this.inicioObra != null && this.inicioObra.listaInicioObra != null) {\r\n let listaPendientes = this.inicioObra.listaInicioObra.filter(row => row.criterioSinInicioObra == 2);\r\n let listaCumple = this.inicioObra.listaInicioObra.filter(row => row.criterioSinInicioObra == 1);\r\n let listaNoCumple = this.inicioObra.listaInicioObra.filter(row => row.criterioSinInicioObra == 0);\r\n this.inicioObra.pendientes = listaPendientes.length;\r\n this.inicioObra.cumple = listaCumple.length;\r\n this.inicioObra.noCumple = listaNoCumple.length;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelect(entity: any): void {\r\n\r\n let idVivienda = entity.data.indentificadorVivienda;\r\n\r\n let object: InicioObraDTO = this.inicioObra.listaInicioObra.filter(row => row.indentificadorVivienda == idVivienda)[0];\r\n\r\n this.entity = object;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Salir(): void {\r\n HttpSession.clear();\r\n Util.forward(this._router, 'Login');\r\n }\r\n\r\n /**\r\n * \r\n * @param value\r\n */\r\n public onChangeBitacoraObra(value: boolean): void {\r\n this.inicioObra.cumpleBitacoraObra = value;\r\n this.observacionBitacoraObra_MensajeError = new FormValidation(null);\r\n this.actualizarErrores('observacionesBitacoraObra');\r\n }\r\n\r\n /**\r\n * \r\n * @param value\r\n */\r\n public onChangePruebas(value: boolean): void {\r\n this.inicioObra.cumplePruebas = value;\r\n this.observacionPruebas_MensajeError = new FormValidation(null);\r\n this.actualizarErrores('observacionesPruebas');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public validarFormumlario(): boolean {\r\n\r\n var error = false;\r\n\r\n if (!this.inicioObra.cumpleBitacoraObra) {\r\n\r\n this.observacionBitacoraObra_MensajeError = new FormValidation(this.inicioObra.observacionesBitacoraObra).requered('La Observacion es obligatorio.');\r\n\r\n if (this.observacionBitacoraObra_MensajeError.error) {\r\n error = true;\r\n }\r\n\r\n }\r\n\r\n if (!this.inicioObra.cumplePruebas) {\r\n\r\n this.observacionPruebas_MensajeError = new FormValidation(this.inicioObra.observacionesPruebas).requered('La Observacion es obligatorio.');\r\n\r\n if (this.observacionPruebas_MensajeError.error) {\r\n error = true;\r\n }\r\n\r\n }\r\n\r\n //{\r\n // let cont: number = 0;\r\n\r\n // if (this.inicioObra != null && this.inicioObra.listaInicioObra != null) {\r\n\r\n // let filter = this.inicioObra.listaInicioObra.filter(row => row.criterioSinInicioObra == 2);\r\n\r\n // if (filter != null) {\r\n // cont = filter.length;\r\n // }\r\n\r\n // if (cont == 0) {\r\n\r\n // let filter = this.inicioObra.listaInicioObra.filter(row => row.indicadorCalidad == 2);\r\n\r\n // if (filter != null) {\r\n // cont = filter.length;\r\n // }\r\n\r\n // if (cont > 0) {\r\n // this.indicadorCalidad_MensajeError = new FormValidation(null).requered('Faltan por capturar Indicador(s) de calidad.');\r\n // error = true;\r\n // }\r\n\r\n // }\r\n\r\n // }\r\n //}\r\n\r\n return error;\r\n }\r\n\r\n /**\r\n * \r\n * @param tipo\r\n */\r\n public actualizarErrores(tipo: string) {\r\n\r\n switch (tipo) {\r\n\r\n case 'observacionesBitacoraObra':\r\n\r\n if (!this.inicioObra.cumpleBitacoraObra) {\r\n this.observacionBitacoraObra_MensajeError = new FormValidation(this.inicioObra.observacionesBitacoraObra).requered('La Observacion es obligatorio.');\r\n }\r\n\r\n break;\r\n\r\n case 'observacionesPruebas':\r\n\r\n if (!this.inicioObra.cumplePruebas) {\r\n this.observacionPruebas_MensajeError = new FormValidation(this.inicioObra.observacionesPruebas).requered('La Observacion es obligatorio.');\r\n }\r\n\r\n break;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n if (!this.validarFormumlario()) {\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de reporte inio de obra ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteInicioObra(this.inicioObra).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200) {\r\n \r\n var strCallback = (): void => {\r\n this.Regresar();\r\n }\r\n\r\n let value = Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success', false, strCallback);\r\n\r\n //this.disabledButton = false;\r\n\r\n let cont: number = this.validacion(false);\r\n\r\n if (cont == 0) {\r\n //this.disabledButton = true;\r\n }\r\n\r\n console.warn('WEB SERVICE -->> ', resultado);\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n console.error('Guardar() -->> ', resultado.message);\r\n }\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Favor de capturar los valores solicitados...', 'warning');\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeIndicadorCalidad(entity: InicioObraDTO, value: number) {\r\n entity.indicadorCalidad = value;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCriterioSinInicioObra(entity: InicioObraDTO, value: number) {\r\n\r\n if (entity.verCSIO == true) {\r\n entity.criterioSinInicioObra = value;\r\n this.onChangeCriterio(entity.idEdificio, value);\r\n }\r\n\r\n if (value == 2) {\r\n entity.porcentajeObraEjecutada = 0;\r\n }\r\n\r\n this.onChangeListaPorcentajeObraEjecutada();\r\n this.setContadorCriterios();\r\n this.validacion(true);\r\n }\r\n\r\n /**\r\n * \r\n * @param mensaje\r\n */\r\n private validacion(mensaje: boolean): number {\r\n\r\n let cont: number = 0;\r\n\r\n if (this.inicioObra != null && this.inicioObra.listaInicioObra != null) {\r\n\r\n let filter = this.inicioObra.listaInicioObra.filter(row => row.criterioSinInicioObra == 2);\r\n\r\n if (filter != null) {\r\n cont = filter.length;\r\n }\r\n\r\n if (cont == 0 && mensaje == true) {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Calificación Terminada...', 'success');\r\n }\r\n\r\n }\r\n\r\n return cont;\r\n }\r\n\r\n /**\r\n * \r\n **/\r\n public getDateSpanish(): any {\r\n return Util.getDateSpanish();\r\n }\r\n\r\n /**\r\n * \r\n * @param idNivelIncumplimiento\r\n */\r\n public getNivelIncumplimiento(idNivelIncumplimiento: number): string {\r\n\r\n let resultado: string = '';\r\n\r\n if (this.inicioObra != null && this.inicioObra.listCatalogoNivel != null) {\r\n\r\n let filter = this.inicioObra.listCatalogoNivel.filter(row => row.idNivel == idNivelIncumplimiento);\r\n\r\n if (filter != null && filter.length > 0) {\r\n resultado = filter[0].descripcion;\r\n }\r\n\r\n }\r\n\r\n return resultado;\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param index\r\n */\r\n public getListPorcentaje(index: number): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let x = index; x <= 100; x++) {\r\n lista.push({ label: x + '', value: x })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param idOpcion\r\n */\r\n public getDisabled(entity: InicioObraDTO, idOpcion: number | null): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.inicioObra.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity != null) {\r\n\r\n if (idOpcion != null) {\r\n\r\n switch (idOpcion) {\r\n\r\n case 1:\r\n {\r\n if (entity.criterioSinInicioObra_TMP == 1) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 2:\r\n {\r\n if (entity.indicadorCalidad_TMP == 1) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n } else {\r\n\r\n\r\n switch (idOpcion) {\r\n\r\n case 1:\r\n {\r\n if (this.inicioObra.fecha1aVisita == null) {\r\n resultado = true;\r\n }\r\n\r\n if (this.inicioObra.cumpleBitacoraObra_TMP == true) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n case 2:\r\n {\r\n if (this.inicioObra.fecha1aVisita == null) {\r\n resultado = true;\r\n }\r\n\r\n if (this.inicioObra.cumplePruebas_TMP == true) {\r\n resultado = true;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getDisabledFecha1aVisita(): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.inicioObra.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (this.inicioObra.fecha1aVisita == null) {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { FormValidation, HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { SeguridadSalida, Usuario } from '../../modelo';\r\nimport { VerificacionObraService } from './../../datos/verificacion-obra.service';\r\nimport { ServicioAlertas } from './../../libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n //styleUrls: ['../../../assets/css/css/styles.css', '../../../assets/css/css/bootstrap.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public entity: Usuario;\r\n public user_MensajeError: FormValidation = new FormValidation(null);\r\n public password_MensajeError: FormValidation = new FormValidation(null);\r\n public PATH: string = '../assets/images';\r\n public url: string;\r\n public mensaje: string = 'Se recomienda el uso de los navegadores Google Chrome, Mozilla, Firefox, Microsoft Edge, Apple Safari. Cualquier otro navegador, puede no responder adecuadamente.'\r\n public date: Date = new Date();\r\n\r\n /**\r\n * \r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n //this.menu = new MenuComponent(_router);\r\n this.url = environment.url;\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.entity = { user: '', password: '' };\r\n\r\n let respuesta: boolean = this.validarNavegador();\r\n\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', this.mensaje, 'warning');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async autentificar() {\r\n\r\n if (!this.validarFormumlario()) {\r\n\r\n Util.showLoadingMessage(this.spinner, 'Verificando información ...');\r\n\r\n let dato: JsonResponse = await this.service.Autentificacion(this.entity).toPromise();\r\n\r\n setTimeout(() => {\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (dato != null && dato.code == 200 && dato.model != null) {\r\n\r\n let result = dato.model;\r\n\r\n if (result.Resultado == 'OK') {\r\n\r\n console.log('result -->> ', result);\r\n\r\n if (result.Perfil == null || result.Perfil == 'PVAO') {\r\n HttpSession.setAttribute('USER_NAME', `${result.NombreUsuario} ${result.ApellidoPaterno} ${result.ApellidoMaterno}`.toUpperCase());\r\n HttpSession.setAttribute('USER_VERIFICADOR', `${result.RazonSocial}`.toUpperCase());\r\n HttpSession.setAttribute('USER', result);\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'El Usuario no cuenta con el perfil valido ...', 'warning');\r\n }\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Usuario invalido...', 'warning');\r\n }\r\n\r\n } else {\r\n\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error en el Servicio de autentificación ...', 'warning');\r\n\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, dato);\r\n\r\n }\r\n\r\n }, 1000);\r\n\r\n\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * \r\n */\r\n public validarFormumlario(): boolean {\r\n\r\n var error = false;\r\n\r\n this.user_MensajeError = new FormValidation(this.entity.user).requered('El Usuario es obligatorio.');\r\n\r\n if (this.user_MensajeError.error) {\r\n error = true;\r\n }\r\n\r\n this.password_MensajeError = new FormValidation(this.entity.password).requered('El Password es obligatorio.');\r\n\r\n if (this.password_MensajeError.error) {\r\n error = true;\r\n }\r\n\r\n return error;\r\n }\r\n\r\n /**\r\n * \r\n * @param tipo\r\n */\r\n public actualizarErrores(tipo: string) {\r\n\r\n switch (tipo) {\r\n\r\n case 'user':\r\n\r\n this.user_MensajeError = new FormValidation(this.entity.user).requered('El Usuario es obligatorio.');\r\n\r\n break;\r\n\r\n case 'password':\r\n\r\n this.password_MensajeError = new FormValidation(this.entity.password).requered('El Password es obligatorio.');\r\n\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private validarNavegador(): boolean {\r\n\r\n let resultado: boolean = false;\r\n \r\n return resultado;\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { InputReporte, OutputReporteSiseviveEcocasa, OutputVistaInformacionGeneral, SeguridadSalida, SiseviveEcocasaDTO, ViviendaDTO } from 'src/app/modelo';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-sisevive-ecocasa',\r\n templateUrl: './sisevive-ecocasa.component.html',\r\n //styleUrls: ['./sisevive-ecocasa.component.css']\r\n})\r\nexport class SiseviveEcocasaComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public siseviveEcocasa: OutputReporteSiseviveEcocasa;\r\n public entity: ViviendaDTO;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public btn_Disabled: boolean;\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('EcotecnologiasAtributosComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n this.entity = {};\r\n this.siseviveEcocasa = { listaViviendas: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n this.btn_Disabled = false;\r\n\r\n this.entity = {};\r\n\r\n this.siseviveEcocasa = { listaViviendas: [] };\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteSiseviveEcocasa(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.siseviveEcocasa = resultado.model;\r\n\r\n if (this.siseviveEcocasa.listaViviendas != null && this.siseviveEcocasa.listaViviendas.length > 0) {\r\n\r\n this.entity = this.siseviveEcocasa.listaViviendas[0];\r\n\r\n //this.entity.claveEstatus = 0;\r\n\r\n await this.getListaSiseviveEcocasa(this.entity.idVVGeneral);\r\n }\r\n\r\n if ((this.siseviveEcocasa.listaViviendas != null && this.siseviveEcocasa.listaViviendas.length == 0) && (this.entity.listaSiseviveEcocasa != null && this.entity.listaSiseviveEcocasa == null)) {\r\n this.btn_Disabled = true;\r\n }\r\n\r\n //if (this.entity.listaSiseviveEcocasa != null && this.entity.listaSiseviveEcocasa.length > 0) {\r\n // this.btn_Disabled = false;\r\n //}\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param idVVGeneral\r\n */\r\n private async getListaSiseviveEcocasa(idVVGeneral: number) {\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion, idvvGeneral: idVVGeneral };\r\n\r\n Util.showLoadingMessage(this.spinner, `Obteniendo información ...`);\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteSiseviveEcocasa(dato).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.entity.listaSiseviveEcocasa = resultado.model.listaSiseviveEcocasa;\r\n\r\n if (this.entity.listaSiseviveEcocasa != null) {\r\n for (let siseviveEcocasa of this.entity.listaSiseviveEcocasa) {\r\n siseviveEcocasa.actualizado = false;\r\n }\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public async onRowSelect(entity: ViviendaDTO) {\r\n\r\n this.entity = entity;\r\n\r\n if (this.entity.listaSiseviveEcocasa == null) {\r\n await this.getListaSiseviveEcocasa(entity.idVVGeneral);\r\n }\r\n\r\n //let object: ViviendaDTO = this.siseviveEcocasa.listaViviendas.filter(row => row.indentificadorVivienda == entity.indentificadorVivienda)[0];\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelectEcotecnologia(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselectEcotecnologia(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n let listSiseviveEcocasaDTO: SiseviveEcocasaDTO[] = [];\r\n\r\n for (let viviendas of this.siseviveEcocasa.listaViviendas) {\r\n\r\n if (viviendas.listaSiseviveEcocasa != null) {\r\n\r\n let listSiseviveEcocasa: SiseviveEcocasaDTO[] = viviendas.listaSiseviveEcocasa.filter(row => row.actualizado == true);\r\n\r\n if (listSiseviveEcocasa != null && listSiseviveEcocasa.length > 0) {\r\n listSiseviveEcocasaDTO.push(...listSiseviveEcocasa);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n this.siseviveEcocasa.listaSiseviveEcocasa = listSiseviveEcocasaDTO;\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de reporte Sisevive - Ecocasa ...`);\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteSiseviveEcocasa(this.siseviveEcocasa).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n\r\n var strCallback = (): void => {\r\n this.Regresar();\r\n }\r\n\r\n let value = Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success', false, strCallback);\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n }\r\n\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumplimiento(entity: SiseviveEcocasaDTO, value: number) {\r\n entity.cumple = value;\r\n entity.actualizado = true;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getDisabledSiseviveEcocasa(entity: SiseviveEcocasaDTO): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity != null && entity.verRegistro == false) {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { OrdenVerificacionDTO, OutputVistaInformacionGeneral, Reportes, SeguridadSalida } from 'src/app/modelo';\r\nimport { AvanceObraComponent } from '../avance-obra/avance-obra.component';\r\nimport { EcotecnologiasAtributosComponent } from '../ecotecnologias-atributos/ecotecnologias-atributos.component';\r\nimport { FuncionamientoComponent } from '../funcionamiento/funcionamiento.component';\r\nimport { HabitabilidadComponent } from '../habitabilidad/habitabilidad.component';\r\nimport { InicioObraComponent } from '../inicio-obra/inicio-obra.component';\r\nimport { SiseviveEcocasaComponent } from '../sisevive-ecocasa/sisevive-ecocasa.component';\r\nimport { VerticalidadComponent } from '../verticalidad/verticalidad.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DonacionesEquipamientoComponent } from '../donaciones-equipamiento/donaciones-equipamiento.component';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-tabs-verificacion',\r\n templateUrl: './tabs-verificacion.component.html',\r\n //styleUrls: ['./tabs-verificacion.component.css']\r\n})\r\nexport class TabsVerificacionComponent implements OnInit {\r\n\r\n public activeTab: string;\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n public reportes: Reportes;\r\n public ordenVerificacion: OrdenVerificacionDTO;\r\n public url: string;\r\n\r\n @ViewChild('inicioObra') inicioObra: InicioObraComponent;\r\n @ViewChild('avanceObra') avanceObra: AvanceObraComponent;\r\n @ViewChild('habitabilidad') habitabilidad: HabitabilidadComponent;\r\n @ViewChild('ecotecnologias') ecotecnologias: EcotecnologiasAtributosComponent;\r\n @ViewChild('verticalidad') verticalidad: VerticalidadComponent;\r\n @ViewChild('siseviveEcocasa') siseviveEcocasa: SiseviveEcocasaComponent;\r\n @ViewChild('funcionamiento') funcionamiento: FuncionamientoComponent;\r\n @ViewChild('donacionesEquipamiento') donacionesEquipamiento: DonacionesEquipamientoComponent;\r\n\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n this.url = environment.url;\r\n\r\n console.log('TabsVerificacionComponent -->> ', new Date());\r\n }\r\n\r\n /**\r\n * \r\n */\r\n private tabInit(): void {\r\n\r\n this.reportes = HttpSession.getAttribute('REPORTES');\r\n\r\n if (this.reportes.InicioObra == true) {\r\n this.activeTab = 'pestana1';\r\n } else {\r\n if (this.reportes.AvanceObra == true) {\r\n this.activeTab = 'pestana2';\r\n }\r\n else {\r\n if (this.reportes.Habitabilidad == true) {\r\n this.activeTab = 'pestana3';\r\n }\r\n else {\r\n\r\n if (this.reportes.EcotecnologiasAtributos == true) {\r\n this.activeTab = 'pestana4';\r\n }\r\n else {\r\n if (this.reportes.Verticalidad == true) {\r\n this.activeTab = 'pestana5';\r\n }\r\n else {\r\n if (this.reportes.SiseviveEcocasa == true) {\r\n this.activeTab = 'pestana6';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n ngOnInit(): void {\r\n\r\n let ordenVerificacion = HttpSession.getAttribute('ORDEN_VERIFICACION');\r\n\r\n if (ordenVerificacion != null) {\r\n this.ordenVerificacion = ordenVerificacion;\r\n }\r\n\r\n this.tabInit();\r\n\r\n this.getMessageLoading(this.activeTab);\r\n\r\n setTimeout(() => {\r\n this.loading(this.activeTab);\r\n }, 2000);\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Salir(): void {\r\n HttpSession.clear();\r\n Util.forward(this._router, 'Login');\r\n }\r\n\r\n /**\r\n * \r\n * @param tab\r\n */\r\n public changeTab(tab: string): void {\r\n\r\n this.activeTab = tab;\r\n\r\n this.getMessageLoading(this.activeTab);\r\n\r\n this.loading(this.activeTab);\r\n }\r\n\r\n /**\r\n * \r\n * @param tab\r\n */\r\n public getMessageLoading(tab: string): void {\r\n\r\n let mensaje: string = '';\r\n\r\n switch (tab) {\r\n case 'pestana1': mensaje = 'Inicio de obra'; break;\r\n case 'pestana2': mensaje = 'Avance de obra'; break;\r\n case 'pestana3': mensaje = 'Habitabilidad'; break;\r\n case 'pestana4': mensaje = 'Ecotecnologías / atributos'; break;\r\n case 'pestana5': mensaje = 'Verticalidad'; break;\r\n case 'pestana6': mensaje = 'Sisevive - Ecocasa'; break;\r\n case 'pestana7': mensaje = 'Funcionamiento'; break;\r\n case 'pestana8': mensaje = 'Donaciones Equipamiento'; break;\r\n }\r\n\r\n Util.showLoadingMessage(this.spinner, `Obteniendo información de ${mensaje}`);\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param tab\r\n */\r\n public async loading(tab: string) {\r\n\r\n switch (tab) {\r\n case 'pestana1': await this.inicioObra.init(); break;\r\n case 'pestana2': await this.avanceObra.init(); break;\r\n case 'pestana3': await this.habitabilidad.init(); break;\r\n case 'pestana4': await this.ecotecnologias.init(); break;\r\n case 'pestana5': await this.verticalidad.init(); break;\r\n case 'pestana6': await this.siseviveEcocasa.init(); break;\r\n case 'pestana7': await this.funcionamiento.init(); break;\r\n case 'pestana8': await this.donacionesEquipamiento.init(); break;\r\n }\r\n\r\n setTimeout(() => {\r\n Util.hideLoadingMessage();\r\n }, 500);\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getOrdenVerificacion(): OrdenVerificacionDTO {\r\n\r\n let ordenVerificacion: OrdenVerificacionDTO = {};\r\n\r\n let entity: OutputVistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n if (entity != null) {\r\n\r\n ordenVerificacion = {\r\n idOrdenVerificacion: entity.ordenVerificacion,\r\n nombreFrente: entity.nombreFrente,\r\n totalViviendas: entity.totalViviendas,\r\n modalidad: entity.modalidad\r\n };\r\n\r\n }\r\n\r\n return ordenVerificacion;\r\n\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { InputReporte, OutputReporteVerticalidad, OutputVistaInformacionGeneral, SeguridadSalida, VerticalidadDTO, ConceptoVerticalDetalle, Archivo, InputReporteVerticalidad } from 'src/app/modelo';\r\n//import { Table } from 'primeng/table';\r\nimport { SelectItem } from 'primeng/api/selectitem';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-verticalidad',\r\n templateUrl: './verticalidad.component.html',\r\n //styleUrls: ['./verticalidad.component.css']\r\n})\r\nexport class VerticalidadComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n\r\n //Forma\r\n\r\n public verticalidad: OutputReporteVerticalidad;\r\n public entity: VerticalidadDTO;\r\n public vistaInformacionGeneral: OutputVistaInformacionGeneral;\r\n public uploadedFiles: any[] = [];\r\n public btn_Disabled: boolean;\r\n\r\n //@ViewChild('table')\r\n //public pTable: Table;\r\n //public index: number = 1;\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.vistaInformacionGeneral = HttpSession.getAttribute('ENTITY');\r\n\r\n console.log('VerticalidadComponent -->> ', new Date());\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n this.entity = {};\r\n this.verticalidad = { listaVerticalidad: [] };\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async init() {\r\n await this.loading();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n this.btn_Disabled = true;\r\n\r\n this.entity = {};\r\n\r\n this.verticalidad = { listaVerticalidad: [] };\r\n\r\n let dato: InputReporte = { idOrdenVerificacion: this.vistaInformacionGeneral.ordenVerificacion };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerReporteVerticalidad(dato).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.verticalidad = resultado.model;\r\n\r\n if (this.verticalidad.listaVerticalidad != null && this.verticalidad.listaVerticalidad.length > 0) {\r\n\r\n this.entity = this.verticalidad.listaVerticalidad[0];\r\n\r\n for (let row of this.verticalidad.listaVerticalidad) {\r\n\r\n if (row.fechaColadoPrimerNivel != null) {\r\n row.fechaColadoPrimerNivel = new Date(row.fechaColadoPrimerNivel);\r\n row.fechaColadoPrimerNivel_TMP = new Date(row.fechaColadoPrimerNivel);\r\n }\r\n\r\n row.cumpleTotalViviendas_TMP = row.cumpleTotalViviendas;\r\n row.viviendasConstruidas_TMP = row.viviendasConstruidas;\r\n row.nivelesHabitables_TMP = row.nivelesHabitables;\r\n row.foto_TMP = row.foto;\r\n row.actualizado = false;\r\n\r\n for (let item of row.listaConceptoVerticalDetalle) {\r\n item.ejecutado_TMP = item.ejecutado;\r\n item.actualizado = false;\r\n }\r\n\r\n \r\n }\r\n\r\n this.btn_Disabled = false;\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param index\r\n */\r\n public onRowSelect(entity: VerticalidadDTO): void {\r\n\r\n this.entity = entity;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelectVerticalidad(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselectVerticalidad(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Regresar(): void {\r\n Util.forward(this._router, 'VistaInformacionGeneralComponent');\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public getDateSpanish(): any {\r\n return Util.getDateSpanish();\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async Guardar() {\r\n\r\n Util.showLoadingMessage(this.spinner, `Guardando información de reporte Verticalidad ...`);\r\n\r\n let listVerticalidad: VerticalidadDTO[] = [];\r\n\r\n let listConceptoVerticalDetalle: ConceptoVerticalDetalle[] = [];\r\n\r\n let listaVerticalidad: VerticalidadDTO[] = Util.clone(this.verticalidad.listaVerticalidad);\r\n\r\n for (let verticalidadDTO of listaVerticalidad) {\r\n\r\n\r\n let filtro = verticalidadDTO.listaConceptoVerticalDetalle.filter(row => row.actualizado == true);\r\n\r\n listConceptoVerticalDetalle.push(...filtro);\r\n\r\n\r\n if (verticalidadDTO.actualizado == true) {\r\n\r\n verticalidadDTO.listaConceptoVerticalDetalle = [];\r\n\r\n listVerticalidad.push(verticalidadDTO);\r\n }\r\n \r\n\r\n }\r\n\r\n let dato: InputReporteVerticalidad = { listaVerticalidad: listVerticalidad, listaConceptoVerticalDetalle: listConceptoVerticalDetalle };\r\n\r\n let resultado: JsonResponse = await this.service.GuardarReporteVerticalidad(dato).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n let respuesta: boolean = resultado.model;\r\n\r\n if (respuesta == true) {\r\n\r\n var strCallback = (): void => {\r\n this.Regresar();\r\n }\r\n\r\n let value = Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Información guardada correctamente ...', 'success', false, strCallback);\r\n \r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al intentar guardar la información ...', 'warning');\r\n }\r\n\r\n }\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async DescargarReporte() {\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param event\r\n * @param fileUpload\r\n */\r\n public async onFileUpload(event: { files: File }, fileUpload) {\r\n\r\n Util.showLoadingMessage(this.spinner, 'Procesando documento ...');\r\n\r\n var excelParametros = { opcion: 'Vivienda' };\r\n\r\n let resultado: JsonResponse = await this.service.AgregarDocumento(event, excelParametros).toPromise();\r\n\r\n Util.hideLoadingMessage();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n if (resultado.model.length > 0) {\r\n this.entity.foto = resultado.model[0].url;\r\n this.onChangeVerticalidad(this.entity);\r\n }\r\n\r\n console.log('resultado.model -->> ', resultado.model);\r\n\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Documento guardado correctamente ...', 'success');\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Error al guardar el documento ...', 'error');\r\n }\r\n\r\n fileUpload.clear();\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param message\r\n */\r\n private showMessage(message: string) {\r\n AppComponent.message = message;\r\n this.spinner.show();\r\n }\r\n\r\n\r\n /**\r\n * \r\n * @param index\r\n */\r\n public getListViviendasConstruidas(index: number): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let x = index; x <= 100; x++) {\r\n lista.push({ label: x + '', value: x })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param index\r\n */\r\n public getListNivelesHabitables(index: number): SelectItem[] {\r\n\r\n let lista: SelectItem[] = [];\r\n\r\n for (let x = index; x <= 100; x++) {\r\n lista.push({ label: x + '', value: x })\r\n }\r\n\r\n return lista;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onChangeConceptoVertical(entity: ConceptoVerticalDetalle): void {\r\n entity.actualizado = true;\r\n entity.conceptoVertical.ejecutado = entity.ejecutado;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onChangeVerticalidad(entity: VerticalidadDTO): void {\r\n this.entity.actualizado = true;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n * @param value\r\n */\r\n public onChangeCumple(entity: VerticalidadDTO, value: number): void {\r\n entity.actualizado = true;\r\n entity.cumpleTotalViviendas = value;\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public getDisabled(entity: ConceptoVerticalDetalle): boolean {\r\n\r\n let resultado: boolean = false;\r\n\r\n if (this.entity.claveEstatus != 0) {\r\n resultado = true;\r\n }\r\n\r\n if (entity.ejecutado_TMP == true) {\r\n resultado = true;\r\n }\r\n\r\n return resultado;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { VerificacionObraService } from 'src/app/datos/verificacion-obra.service';\r\nimport { HttpSession, Util } from 'src/app/libs/ruvpp-angular2-comun/index';\r\nimport { ServicioIndicadorCarga } from 'src/app/libs/ruvpp-angular2-comun/indicador-carga';\r\nimport { JsonResponse } from 'src/app/libs/ruvpp-angular2-comun/modelo/Index';\r\nimport { ServicioAlertas } from 'src/app/libs/ruvpp-angular2-comun/ServicioAlertas';\r\nimport { InputVistaInformacionGeneral, OutputVistaInformacionGeneral, Reportes, SeguridadSalida } from 'src/app/modelo';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n//@Autor: Ernesto López Hdez\r\n@Component({\r\n selector: 'app-vista-informacion-general',\r\n templateUrl: './vista-informacion-general.component.html',\r\n //styleUrls: ['../../../assets/css/css/styles.css', '../../../assets/css/css/bootstrap.css']\r\n})\r\nexport class VistaInformacionGeneralComponent implements OnInit {\r\n\r\n public user: SeguridadSalida;\r\n public usuario: string;\r\n public verificador: string;\r\n public url: string;\r\n\r\n //Forma\r\n\r\n public listaVistaInformacionGeneral: OutputVistaInformacionGeneral[];\r\n public entity: OutputVistaInformacionGeneral;\r\n public reportes: Reportes = { InicioObra: false, Habitabilidad: false, Verticalidad: false, AvanceObra: false, EcotecnologiasAtributos: false, SiseviveEcocasa: false };\r\n\r\n /**\r\n * \r\n * @param servicioIndicadorCarga\r\n * @param servicioAlertas\r\n * @param service\r\n * @param _router\r\n * @param spinner\r\n */\r\n constructor(private servicioIndicadorCarga: ServicioIndicadorCarga, private servicioAlertas: ServicioAlertas, private service: VerificacionObraService, private _router: Router, private spinner: NgxSpinnerService) {\r\n\r\n this.user = HttpSession.getAttribute('USER');\r\n\r\n if (this.user != null) {\r\n this.usuario = `${HttpSession.getAttribute('USER_NAME')}`;\r\n this.verificador = `${HttpSession.getAttribute('USER_VERIFICADOR')}`;\r\n }\r\n\r\n this.url = environment.url;\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async ngOnInit() {\r\n\r\n setTimeout(() => {\r\n this.loading();\r\n }, 500);\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public async loading() {\r\n\r\n Util.showLoadingMessage(this.spinner, 'Obteniendo datos ...');\r\n\r\n this.listaVistaInformacionGeneral = [];\r\n\r\n let datos: InputVistaInformacionGeneral = { idVerificador: this.user.IdEmpresa };\r\n\r\n let resultado: JsonResponse = await this.service.ObtenerVistaInformacionGeneral(datos).toPromise();\r\n\r\n if (resultado != null && resultado.code == 200 && resultado.model != null) {\r\n\r\n this.listaVistaInformacionGeneral = resultado.model;\r\n\r\n if (this.listaVistaInformacionGeneral != null && this.listaVistaInformacionGeneral.length > 0) {\r\n this.entity = this.listaVistaInformacionGeneral[0];\r\n }\r\n\r\n } else {\r\n console.error(`---------------------------------------------------------------------------------------------------------------------`);\r\n console.error(`Error: `, resultado);\r\n }\r\n\r\n setTimeout(() => {\r\n Util.hideLoadingMessage();\r\n }, 1000);\r\n\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowSelect(entity: any): void {\r\n this.reportes = { InicioObra: false, Habitabilidad: false, Verticalidad: false, AvanceObra: false, EcotecnologiasAtributos: false, SiseviveEcocasa: false };\r\n }\r\n\r\n /**\r\n * \r\n * @param entity\r\n */\r\n public onRowUnselect(entity: any): void {\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Continuar(): void {\r\n\r\n let reportes: number = 0;\r\n\r\n if (this.reportes.InicioObra == true) {\r\n reportes++;\r\n }\r\n\r\n if (this.reportes.Habitabilidad == true) {\r\n reportes++;\r\n }\r\n\r\n if (this.reportes.Verticalidad == true) {\r\n reportes++;\r\n }\r\n\r\n if (this.reportes.AvanceObra == true) {\r\n reportes++;\r\n }\r\n\r\n if (this.reportes.EcotecnologiasAtributos == true) {\r\n reportes++;\r\n }\r\n\r\n if (this.reportes.SiseviveEcocasa == true) {\r\n reportes++;\r\n }\r\n\r\n if (reportes > 0) {\r\n\r\n HttpSession.setAttribute('REPORTES', this.reportes);\r\n HttpSession.setAttribute('ENTITY', this.entity);\r\n Util.forward(this._router, 'TabsVerificacionComponent');\r\n\r\n } else {\r\n Util.showMessage(this.servicioAlertas, 'Verificación de Obra', 'Para continuar debe tener al menos un reporte seleccionado ...', 'warning');\r\n }\r\n\r\n }\r\n\r\n /**\r\n * \r\n */\r\n public Salir(): void {\r\n HttpSession.clear();\r\n Util.forward(this._router, 'Login');\r\n }\r\n\r\n}\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\n/*export const environment = {\r\n production: false,\r\n urlBase: 'http://localhost:50519',\r\n url: 'https://localhost:44392'\r\n};*/\r\n\r\nexport const environment = {\r\n production: false,\r\n urlBase: `https://verificacion-obra-api.azurewebsites.net`,\r\n url: 'http://192.168.0.100:8084/VerificacionObra'\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///"}