Commit c3085508 authored by D’jalmar Gutierrez Titirico's avatar D’jalmar Gutierrez Titirico 🚲
Browse files

se agrego la posibilidad de editar las entidades en el organigrama

parent 76b82545
...@@ -14,23 +14,23 @@ ...@@ -14,23 +14,23 @@
this.cargoConvocatoria = Object.assign({cargo_superior_id: null}, this.cargoInicial); this.cargoConvocatoria = Object.assign({cargo_superior_id: null}, this.cargoInicial);
this.entidadSeleccionada = parametro.entidad; this.entidadSeleccionada = parametro.entidad;
this.entidades = {rows: [this.entidadSeleccionada], count: 1} this.entidades = {rows: [this.entidadSeleccionada], count: 1};
this.unidad = parametro.unidad; this.unidad = parametro.unidad;
this.unidadService.getUnidades() this.entidadService.unidadesOrganizacionales(this.entidadSeleccionada._id)
.then(unidades => { .then(unidades => {
this.unidades = unidades; this.unidades = unidades;
this.unidadSeleccionada = this.unidades.rows.find(x=>x._id === this.unidad._id); this.unidadSeleccionada = this.unidades.rows.find(x=>x._id === this.unidad._id);
}); });
this.service.getCargos() this.unidadService.cargos(this.unidad._id)
.then(cargosSuperiores => { .then(cargosSuperiores => {
this.cargosSuperiores = cargosSuperiores; this.cargosSuperiores = cargosSuperiores;
this.cargoSuperiorSeleccionada = this.cargosSuperiores.rows.find(x=>x._id === this.cargoInicial.cargo_superior_id); this.cargoSuperiorSeleccionada = this.cargosSuperiores.rows.find(x=>x._id === this.cargoInicial.cargo_superior_id);
}); });
if(this.cargoInicial){ if (this.cargoInicial) {
this.entidadId = this.entidadSeleccionada._id; this.entidadId = this.entidadSeleccionada._id;
this.entidadService.tiposCargo(this.entidadId) this.entidadService.tiposCargo(this.entidadId)
.then(tiposCargos=>{ .then(tiposCargos=> {
this.tiposCargo = tiposCargos; this.tiposCargo = tiposCargos;
this.tipoCargoSeleccionada = this.tiposCargo.rows.find(x=>x._id === this.cargoInicial.fk_tipo_cargo); this.tipoCargoSeleccionada = this.tiposCargo.rows.find(x=>x._id === this.cargoInicial.fk_tipo_cargo);
}) })
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
method: 'GET', method: 'GET',
url: appConfig.serverAddress + '/api/entidades/:id/convocatorias' url: appConfig.serverAddress + '/api/entidades/:id/convocatorias'
}, },
cargosDisponibles: { cargosDisponibles: {
isArray: false, isArray: false,
method: 'GET', method: 'GET',
......
'use strict';
(()=> {
class EntidadEditarModalController {
constructor($uibModalInstance, parametros, EntidadService, tipoEntidadService) {
this.enviado = false;
this.errores = {};
this.modal = $uibModalInstance;
this.service = EntidadService;
this.entidad = parametros.entidad;
this.entidades = Object.assign({}, this.entidad);
this.entidadesSuperior = {};
tipoEntidadService.getTiposEntidad({ordenarPor: 'nombre'})
.then(tipoEntidad=> {
this.tiposEntidad = tipoEntidad;
this.tipoEntidadSeleccionado = this.tiposEntidad.rows.find(x=>x._id == this.entidad.fk_tipo_entidad);
});
EntidadService.getEntidades()
.then(entidad=> {
this.entidadesSuperior = entidad;
this.entidadesSuperiorSeleccionado = this.entidadesSuperior.rows.find(x=>x._id == this.entidad.fk_entidad_superior);
});
}
guardarEntidad(form) {
this.enviado = true;
if (form.$valid) {
this.entidades.fk_tipo_entidad = this.tipoEntidadSeleccionado._id;
if (this.entidadesSuperiorSeleccionado) {
this.entidades.fk_entidad_superior = this.entidadesSuperiorSeleccionado._id;
}
this.service.editarEntidad(this.entidad._id, this.entidades)
.then(entidad=> {
this.modal.close(entidad);
})
.catch(err=> {
this.errores.otros = err.data.message;
})
}
}
}
angular.module('moduloPersonalApp')
.controller('EntidadEditarModalCtrl', EntidadEditarModalController);
})();
...@@ -1271,13 +1271,13 @@ ...@@ -1271,13 +1271,13 @@
enlaceEliminar.innerText = 'Eliminar'; enlaceEliminar.innerText = 'Eliminar';
enlaceEditar.innerText = 'Editar'; enlaceEditar.innerText = 'Editar';
itemEditar.appendChild(enlaceEditar); itemEditar.appendChild(enlaceEditar);
itemEliminar.appendChild(enlaceEliminar); // itemEliminar.appendChild(enlaceEliminar);
lista.className = 'dropdown-menu'; lista.className = 'dropdown-menu';
lista.setAttribute('uib-dropdown-menu', ''); lista.setAttribute('uib-dropdown-menu', '');
lista.setAttribute('aria-labelledby', "simple-dropdown"); lista.setAttribute('aria-labelledby', "simple-dropdown");
lista.appendChild(itemEditar); lista.appendChild(itemEditar);
lista.appendChild(itemEliminar); // lista.appendChild(itemEliminar);
icono.className = 'fa fa-ellipsis-v fa-lg'; icono.className = 'fa fa-ellipsis-v fa-lg';
boton.className = 'btn btn-default'; boton.className = 'btn btn-default';
...@@ -1469,7 +1469,7 @@ ...@@ -1469,7 +1469,7 @@
} }
formatearArbol(raiz) { formatearArbol(raiz) {
raiz.text = {name: raiz.title + ' ' + raiz.orden, title: raiz.name}; raiz.text = {name: raiz.title, title: raiz.name};
if (!raiz.name) { if (!raiz.name) {
raiz.pseudo = true; raiz.pseudo = true;
} }
...@@ -1514,7 +1514,7 @@ ...@@ -1514,7 +1514,7 @@
raiz.text.node.children[1].lastChild.setAttribute('ng-click', 'vm.moverNodo(vm.' + nombreNodo + ', 1)'); raiz.text.node.children[1].lastChild.setAttribute('ng-click', 'vm.moverNodo(vm.' + nombreNodo + ', 1)');
//agregando los eventos 'ng-click' para editar, eliminar y crear nodos //agregando los eventos 'ng-click' para editar, eliminar y crear nodos
raiz.text.node.children[2].lastChild.children[0].setAttribute('ng-click', 'vm.editarNodo(vm.' + nombreNodo + ')'); raiz.text.node.children[2].lastChild.children[0].setAttribute('ng-click', 'vm.editarNodo(vm.' + nombreNodo + ')');
raiz.text.node.children[2].lastChild.children[1].setAttribute('ng-click', 'vm.eliminarNodo(vm.' + nombreNodo + ')'); // raiz.text.node.children[2].lastChild.children[1].setAttribute('ng-click', 'vm.crearNodo(vm.' + nombreNodo + ')');
if (raiz.text.node.childElementCount > 3) { if (raiz.text.node.childElementCount > 3) {
raiz.text.node.lastChild.setAttribute('ng-click', 'vm.colapsar(vm.' + nombreNodo + ')'); raiz.text.node.lastChild.setAttribute('ng-click', 'vm.colapsar(vm.' + nombreNodo + ')');
raiz.text.node.lastChild.firstChild.setAttribute('ng-class', "{'fa-angle-up':!vm." + nombreNodo + ".colapsado, 'fa-angle-down':vm." + nombreNodo + ".colapsado}"); raiz.text.node.lastChild.firstChild.setAttribute('ng-class', "{'fa-angle-up':!vm." + nombreNodo + ".colapsado, 'fa-angle-down':vm." + nombreNodo + ".colapsado}");
...@@ -1565,13 +1565,15 @@ ...@@ -1565,13 +1565,15 @@
nodo.entidad = entidad; nodo.entidad = entidad;
this.modal.open({ this.modal.open({
templateUrl: 'app/entidades/modals/entidades.crear.modal.html', templateUrl: 'app/entidades/modals/entidades.crear.modal.html',
controller: 'EntidadCrearModalCtrl', controller: 'EntidadEditarModalCtrl',
controllerAs: 'vm', controllerAs: 'vm',
resolve: { resolve: {
parametro: {entidad: this.entidad, unidad: unidad} parametros: {entidad: nodo.entidad}
} }
}).result }).result
.then(entidad=> { .then(entidad=> {
nodo.entidad = Object.assign(node.entidad, entidad);
nodo.text.node.firstChild.innerText = entidad.nombre;
this.alertas.push({ this.alertas.push({
tipo: 'success', tipo: 'success',
mensaje: 'Se creo correctamente la oficina: ' + oficina.nombre mensaje: 'Se creo correctamente la oficina: ' + oficina.nombre
...@@ -1607,23 +1609,32 @@ ...@@ -1607,23 +1609,32 @@
}); });
break; break;
case 'cargo': case 'cargo':
this.cargoService.getCargo(nodo.cargoId) console.log(nodo);
this.cargoService.getCargo(nodo._id)
.then(cargo=> { .then(cargo=> {
nodo.cargo = cargo; nodo.cargo = cargo;
return this.unidadOrganizacionalService.getUnidad(cargo.fk_unidad_organizacional);
})
.then((unidad)=> {
nodo.unidad = unidad;
return this.service.getEntidad(unidad.fk_entidad);
})
.then((entidad)=> {
nodo.entidad = entidad;
this.modal.open({ this.modal.open({
templateUrl: 'app/unidadesOrganizacional/modals/unidadesOrganizacional.modal.html', templateUrl: 'app/cargos/modals/cargos.modal.html',
controller: 'UnidadOrganizacionalEditarModalCtrl', controller: 'CargoEditarModalCtrl',
controllerAs: 'vm', controllerAs: 'vm',
resolve: { resolve: {
parametro: {entidad: entidad, unidad: nodo.unidadOrganizacional} parametro: {entidad: entidad, unidad: nodo.unidad, cargo: nodo.cargo}
} }
}).result }).result
.then(unidad=> { .then(cargo=> {
nodo.unidadOrganizacional = Object.assign(nodo.unidadOrganizacional, unidad); nodo.cargo = Object.assign(nodo.cargo, cargo);
nodo.text.node.firstChild.innerText = unidad.nombre; nodo.text.node.firstChild.innerText = cargo.nombre;
this.alertas.push({ this.alertas.push({
tipo: 'success', tipo: 'success',
mensaje: 'Se actualizó la Unidad Organizacional: ' + unidad.nombre mensaje: 'Se el cargo : ' + cargo.nombre
}) })
}) })
}) })
...@@ -1631,14 +1642,48 @@ ...@@ -1631,14 +1642,48 @@
} }
} }
eliminarNodo(nodo) { crearNodo(nodo) {
console.log('eliminar');
switch (nodo.tipo) { switch (nodo.tipo) {
case 'entidad': case 'entidad':
this.modal.open({
templateUrl: 'app/entidades/modals/entidades.crear.modal.html',
controller: 'EntidadCrearModalCtrl',
controllerAs: 'vm'
}).result
.then(entidad=> {
this.alertas.push({
tipo: 'success',
mensaje: 'Se creo correctamente la oficina: ' + oficina.nombre
})
});
break; break;
case 'unidadOrganizacional': case 'unidadOrganizacional':
this.modal.open({
templateUrl: 'app/unidadesOrganizacional/modals/unidadesOrganizacional.modal.html',
controller: 'UnidadOrganizacionalCrearModalCtrl',
controllerAs: 'vm',
resolve: {parametro: {}}
}).result
.then(unidad=> {
this.alertas.push({
tipo: 'success',
mensaje: 'Se actualizó la Unidad Organizacional: ' + unidad.nombre
})
});
break; break;
case 'cargo': case 'cargo':
this.modal.open({
templateUrl: 'app/cargos/modals/cargos.modal.html',
controller: 'CargoCrearModalCtrl',
controllerAs: 'vm',
resolve: {parametro: {}}
}).result
.then(cargo=> {
this.alertas.push({
tipo: 'success',
mensaje: 'Se el cargo : ' + cargo.nombre
})
});
break; break;
} }
} }
......
...@@ -11,32 +11,8 @@ ...@@ -11,32 +11,8 @@
</div> </div>
</div> </div>
</div> </div>
<!--<div class="container-fluid">-->
<!--<div class="row">-->
<!--<div id="chart" class="orgchart-primary">-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--<br>-->
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="chart" id="collapsable-example"></div> <div class="chart" id="collapsable-example"></div>
</div> </div>
</div> </div>
<div class="row">
<button class="btn btn-primary-outline" ng-click="vm.borrar()">Borrar</button>
</div>
<div class="row">
<span uib-dropdown on-toggle="toggled(open)">
<a href id="simple-dropdown" uib-dropdown-toggle>
<span class="caret"></span>
</a>
<ul class="dropdown-menu" uib-dropdown-menu aria-labelledby="simple-dropdown">
<li>
asdasd
</li>
<li>asdasd</li>
</ul>
</span>
</div>
</div>
...@@ -16,16 +16,13 @@ ...@@ -16,16 +16,13 @@
this.enviado = true; this.enviado = true;
if (form.$valid) { if (form.$valid) {
this.service.editarPersona(this.persona._id, this.persona) this.service.editarPersona(this.persona._id, this.persona)
.then((persona)=>{ .then((persona)=> {
this.modal.close(persona); this.modal.close(persona);
}) })
} }
} }
}//class }//class
angular.module('moduloPersonalApp') angular.module('moduloPersonalApp')
.controller('PersonaEditarModalCtrl', PersonaEditarModalController); .controller('PersonaEditarModalCtrl', PersonaEditarModalController);
})(); })();
'use strict'; 'use strict';
(()=> { (()=> {
class UnidadOrganizacionalEditarModalController { class UnidadOrganizacionalEditarModalController {
constructor($uibModalInstance, parametro, UnidadService) { constructor($uibModalInstance, parametro, UnidadService, EntidadService) {
this.enviado = false; this.enviado = false;
this.errores = {}; this.errores = {};
this.modal = $uibModalInstance; this.modal = $uibModalInstance;
this.service = UnidadService; this.service = UnidadService;
this.entidadService = EntidadService;
this.unidadInicial = parametro.unidad; this.unidadInicial = parametro.unidad;
this.unidad = Object.assign({}, this.unidadInicial); this.unidad = Object.assign({}, this.unidadInicial);
...@@ -13,7 +15,7 @@ ...@@ -13,7 +15,7 @@
this.entidadSeleccionada = parametro.entidad; this.entidadSeleccionada = parametro.entidad;
this.entidades = {rows: [this.entidadSeleccionada], count: 1}; this.entidades = {rows: [this.entidadSeleccionada], count: 1};
this.service.getUnidades() this.entidadService.unidadesOrganizacionales(this.unidadInicial.fk_entidad)
.then(unidadesSuperiores => { .then(unidadesSuperiores => {
this.unidadesSuperiores = unidadesSuperiores; this.unidadesSuperiores = unidadesSuperiores;
this.unidadSuperiorSeleccionada = this.unidadesSuperiores.rows.find(x=>x._id == this.unidadInicial.unidad_superior_id); this.unidadSuperiorSeleccionada = this.unidadesSuperiores.rows.find(x=>x._id == this.unidadInicial.unidad_superior_id);
...@@ -28,7 +30,7 @@ ...@@ -28,7 +30,7 @@
if (form.$valid) { if (form.$valid) {
if (this.unidadSuperiorSeleccionada) { if (this.unidadSuperiorSeleccionada) {
this.unidad.unidad_superior_id = this.unidadSuperiorSeleccionada._id; this.unidad.unidad_superior_id = this.unidadSuperiorSeleccionada._id;
}else{ } else {
this.unidad.unidad_superior_id = this.unidadSuperiorSeleccionada; this.unidad.unidad_superior_id = this.unidadSuperiorSeleccionada;
} }
this.service.editarUnidad(this.unidad._id, this.unidad) this.service.editarUnidad(this.unidad._id, this.unidad)
......
...@@ -10,6 +10,11 @@ ...@@ -10,6 +10,11 @@
method: 'PUT', method: 'PUT',
isArray: true, isArray: true,
url: appConfig.serverAddress + '/api/unidadesOrganizacional/:id/ordenarCargos' url: appConfig.serverAddress + '/api/unidadesOrganizacional/:id/ordenarCargos'
},
cargos: {
isArray: false,
method: 'GET',
url: appConfig.serverAddress + '/api/unidadesOrganizacional/:id/cargos'
} }
}); });
} }
...@@ -34,6 +39,10 @@ ...@@ -34,6 +39,10 @@
ordenarCargos(id, parametros) { ordenarCargos(id, parametros) {
return this.resource.ordenarCargos({id: id}, parametros).$promise; return this.resource.ordenarCargos({id: id}, parametros).$promise;
} }
cargos(id) {
return this.resource.cargos({id: id}).$promise;
}
} }
angular.module('moduloPersonalApp') angular.module('moduloPersonalApp')
......
...@@ -28,7 +28,7 @@ abbr, acronym { ...@@ -28,7 +28,7 @@ abbr, acronym {
/* optional Container STYLES */ /* optional Container STYLES */
.chart { .chart {
height: 860px; height: 980px;
margin: 5px; margin: 5px;
width: 100%; width: 100%;
margin: 5px auto; margin: 5px auto;
......
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<script src="components/autenticacion/autenticacion.module.js"></script> <script src="components/autenticacion/autenticacion.module.js"></script>
<script src="components/modal/modal.module.js"></script> <script src="components/modal/modal.module.js"></script>
<script src="components/util/util.module.js"></script> <script src="components/util/util.module.js"></script>
<script src="app/oficinas/modals/oficinas.editar.modal.controller.js"></script> <script src="app/oficinas/modals/oficinas.crear.modal.controller.js"></script>
<script src="app/cargos/cargos.js"></script> <script src="app/cargos/cargos.js"></script>
<script src="app/cargos/cargos.service.js"></script> <script src="app/cargos/cargos.service.js"></script>
<script src="app/cargos/editar/cargos.editar.controller.js"></script> <script src="app/cargos/editar/cargos.editar.controller.js"></script>
...@@ -113,6 +113,7 @@ ...@@ -113,6 +113,7 @@
<script src="app/entidades/entidades.js"></script> <script src="app/entidades/entidades.js"></script>
<script src="app/entidades/entidades.service.js"></script> <script src="app/entidades/entidades.service.js"></script>
<script src="app/entidades/modals/entidades.crear.modal.controller.js"></script> <script src="app/entidades/modals/entidades.crear.modal.controller.js"></script>
<script src="app/entidades/modals/entidades.editar.modal.controller.js"></script>
<script src="app/entidades/organigrama/entidades.organigrama.controller.js"></script> <script src="app/entidades/organigrama/entidades.organigrama.controller.js"></script>
<script src="app/entidadesOficina/entidadesOficina.service.js"></script> <script src="app/entidadesOficina/entidadesOficina.service.js"></script>
<script src="app/etapas/etapas.controller.js"></script> <script src="app/etapas/etapas.controller.js"></script>
...@@ -137,8 +138,8 @@ ...@@ -137,8 +138,8 @@
<script src="app/oficinas/editar/oficinas.editar.controller.js"></script> <script src="app/oficinas/editar/oficinas.editar.controller.js"></script>
<script src="app/oficinas/modals/oficina.entidad.crear.modal.controller.js"></script> <script src="app/oficinas/modals/oficina.entidad.crear.modal.controller.js"></script>
<script src="app/oficinas/modals/oficina.entidad.editar.modal.controller.js"></script> <script src="app/oficinas/modals/oficina.entidad.editar.modal.controller.js"></script>
<script src="app/oficinas/modals/oficinas.crear.modal.controller.js"></script>
<script src="app/calificaciones/calificaciones.service.js"></script> <script src="app/calificaciones/calificaciones.service.js"></script>
<script src="app/oficinas/modals/oficinas.editar.modal.controller.js"></script>
<script src="app/oficinas/oficinas.service.js"></script> <script src="app/oficinas/oficinas.service.js"></script>
<script src="app/oficinasUnidad/oficinasUnidad.service.js"></script> <script src="app/oficinasUnidad/oficinasUnidad.service.js"></script>
<script src="app/personas/editar/personas.editar.controller.js"></script> <script src="app/personas/editar/personas.editar.controller.js"></script>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment