Files
2026-05-26 00:59:40 -06:00

5092 lines
232 KiB
PHP

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Colaborando</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Ubuntu&display=swap');
body,
input {
font-family: 'Ubuntu', sans-serif;
font-size: 14px;
}
table {
width: 100%;
border-collapse: collapse;
}
.proyectos td {
border-bottom: 1px solid gray;
}
#proyectoDescripcion {
font-size: 14px;
}
#tablaAccionesPosibles td {
vertical-align: top;
}
#activosProyectoGde td {
border: 1px solid black;
}
/* th, td { */
/* border: 1px solid #000; */
/* padding: 8px; */
/* text-align: left; */
/* } */
.actNinguno {
background-color: white;
width: 35px;
}
.actPersonalCalificado {
background-color: yellow;
width: 35px;
}
.actAnalistas {
background-color: orange;
width: 35px;
}
.actFlujoDeEfectivo {
background-color: limegreen;
width: 35px;
}
.actCreditoEInversion {
background-color: blueviolet;
width: 35px;
color: white;
}
.actTecnologia {
background-color: red;
width: 35px;
color: white;
}
.actTransporteYMaquinaria {
background-color: blue;
width: 35px;
color: white;
}
.dificultad1 {
color: limegreen;
font-size: 14px;
}
.dificultad2 {
color: orange;
font-size: 14px;
}
.dificultad3 {
color: red;
font-size: 14px;
}
.draggable,
.proyectoEncabezado,
#activoReqProyectoNom1,
#activoReqProyectoNom2,
#activoReqProyectoNom3,
.departamentos,
#accionGestionarProyecto,
#accionComprarCapacitacion {
cursor: pointer;
}
#recursosDisponiblesGde {
font-size: 18px;
font-weight: 700;
}
#tiempoCh,
#personalCh,
#capitalCh {
font-size: 18px;
font-weight: 700;
}
.ui-button.ui-state-disabledxx {
background-color: #ff0000;
/* Cambia el color de fondo a rojo */
color: #ffffff;
/* Cambia el color del texto a blanco */
}
</style>
<!-- <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> -->
<link rel="stylesheet" href="js\jquery-ui.min.css">
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/jquery-ui.min.js"></script>
<!-- <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> -->
</head>
<body>
<table>
<tr>
<td id="renglonSuperior">
<div style="display:inline-block;width:37.8%;box-sizing:border-box;border:solid 3px;border-color:gray;vertical-align:top;">
<table class="renglonSup">
<tr>
<td colspan="8" style="text-align:center;"><img src="img/logoColaborando-tablero.png"></td>
</tr>
<tr>
<td colspan="2" style="text-align:center;">Trimestre</td>
<td colspan="2" style="text-align:center;">Quincena</td>
<td colspan="2" style="text-align:center;">Comparativo</td>
<td colspan="2" style="text-align:center;">Acciones</td>
</tr>
<tr id="trimestreQuincenaComparativo">
<td colspan="2" style="text-align:center;">
<div id="trimestre">
<table border="1" style="width:90%;height:25px;margin-left:5px;">
<tr>
<td id="T1">1</td>
<td id="T2">2</td>
<td id="T3">3</td>
<td id="T4">4</td>
</tr>
</table>
</div>
<br>
</td>
<td colspan="2" style="text-align:center;">
<div id="quincena" style="display:flex;justify-content:center;">
<table id="tablaQuincena" border="1" style="text-align:center;width:110px;height:25px;margin-left:5px;">
<tr>
<td><button id="bMenos">&nbsp;-&nbsp;</button></td>
<td>
<input id="etQuincena" type="text" style="width:25px;text-align:center" id="quincena1" value="1">
</td>
<td><button id="bMas">&nbsp;+&nbsp;</button></td>
</tr>
</table>
</div>
<br>
</td>
<td colspan="2" style="text-align:center;">
<div id="comparativo">1</div>
<br>
</td>
<td style="text-align:center;">
<div>
<button id="bAccion1" style="width:40px;" onclick="toggleColor(this)">1</button>
<button id="bAccion2" style="width:40px;" onclick="toggleColor(this)">2</button>
</div>
<br>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;vertical-align:top;">
<!--- Reloj -->
<div id="timer"><span id="time" style="font-size:20px;">1:00</span></div>
<div class="button-container">
<button id="relojStartPauseButton" onclick="relojToggleTimer()">Iniciar</button>
<!-- <button onclick="relojPauseTimer()">Pausar</button> -->
<button onclick="relojResumeTimer()">Continuar</button>
</div>
<input type="range" id="timeRange" min="1" max="5" value="1" oninput="relojUpdateTime()">
<!-- <script src="timer.js"></script> -->
</td>
<td colspan="4" style="text-align:center;">
<button id="RGR" class="ui-button ui-widget ui-corner-all">Generar Recursos</button><button id="asignarRecursos" class="ui-button ui-widget ui-corner-all">Asignar >></button>
<!-- <button id="RGR2">Generar Recursos</button> <button id="asignarRecursos2" disabled>Asignar >></button> -->
<table style="height:55px;width:200px;margin:0 auto;">
<tr>
<td><span id="recRand1"></span></td>
<td><span id="recRand2"></span></td>
<td><span id="recRand3"></span> </td>
</tr>
</table>
</td>
<td colspan="2" style="text-align:center;">
<input type="checkbox" name="habilidadesAcreditadas" id="habilidadesAcreditadas">
<label for="habilidadesAcreditadas"> &nbsp;&nbsp;Capacitaciones</label>
<table id="tablaHabilidadesAcreditadas" actual="" style="height:55px;width:160px;margin:0 auto;">
<tr>
<td><span id="haNombre" style="font-weight:bold;"></span></td>
</tr>
<tr>
<td><span id="haCosto"></span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan=4 style="vertical-align:top">
<br>
<table id="tablaActivos" style="border:1px solid black;width:260px">
<tr>
<td colspan="2" style="text-align:center;background-color:gray;color:white;height:20px;">ACTIVOS</td>
<td colspan="2" style="text-align:center;background-color:gray;color:white;">Producción</td>
<td colspan="2" style="text-align:center;background-color:gray;color:white;">Recuperación</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;" class="actPersonalCalificado">Personal calificado</td>
<td id="activosPersonalCalificado" colspan="2" style="text-align:center;">1T + 2P + 2C</td>
<td id="recuperacionPersonalCalificado" colspan="2" style="text-align:center;">1P + 1C</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;" class="actAnalistas">Analistas</td>
<td id="activosAnalistas" colspan="2" style="text-align:center;">1T + 2P + 2C</td>
<td id="recuperacionAnalistas" colspan="2" style="text-align:center;">1P + 1C</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;" class="actFlujoDeEfectivo">Flujo de efectivo</td>
<td id="activosFlujoDeEfectivo" colspan="2" style="text-align:center;">1T + 2P + 2C</td>
<td id="recuperacionFlujoDeEfectivo" colspan="2" style="text-align:center;">1P + 1C</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;" class="actCreditoEInversion">Crédito e Inversión</td>
<td id="activosCreditoEInversiono" colspan="2" style="text-align:center;">1T + 2P + 2C</td>
<td id="recuperacionCreditoEInversion" colspan="2" style="text-align:center;">1P + 1C</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;" class="actTecnologia">Tecnología</td>
<td id="activosTecnologia" colspan="2" style="text-align:center;">1T + 2P + 2C</td>
<td id="recuperacionTecnologia" colspan="2" style="text-align:center;">1P + 1C</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;" class="actTransporteYMaquinaria">Transporte y Maquinaria</td>
<td id="activosTransporteYMaquinaria" colspan="2" style="text-align:center;">1T + 2P + 2C</td>
<td id="recuperacionTransporteYMaquinaria" colspan="2" style="text-align:center;">1P + 1C</td>
</tr>
</table>
</td>
<td colspan=4 style="vertical-align:top">
<br>
<table id="tablaAccionesPosibles" style="width:100%;border:1px solid black;">
<tr>
<td style="text-align:center;background-color:gray;color:white;height:20px;" colspan=2>Acciones Posibles</td>
</tr>
<tr>
<td>1.-</td>
<td>Generar recursos</td>
</tr>
<tr>
<td>2.-</td>
<td> Generar activos</td>
</tr>
<tr>
<td>3.-</td>
<td> Intercambiar recursos</td>
</tr>
<tr>
<td>4.-</td>
<td> <span id="accionGestionarProyecto">Gestionar nuevo proyecto</span></td>
</tr>
<tr>
<td>5.-</td>
<td> Convocar junta</td>
</tr>
<tr>
<td>6.-</td>
<td> <span id="accionComprarCapacitacion">Abrir/Cambiar/Comprar habilidad</span></td>
</tr>
<tr>
<td>7.-</td>
<td> Colocar activos recuperados</td>
</tr>
<tr>
<td>8.-</td>
<td> Habilidad especial</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;">&nbsp;</div>
<div style="display:inline-block;width:29.8%;box-sizing:border-box;border:solid 3px;border-color:gray;vertical-align:top;">
<table class="renglonSup">
<tr>
<td colspan="10" style="height:28px;text-align:center;font-size:18px;font-weight:700;border-bottom:1px solid black;">Departamento a Cargo</td>
</tr>
<tr>
<td colspan="8" id="nombreDeptoGde" style="text-align:center;font-size:16px;font-weight:700;width:60%;height:42px;">RECURSOS HUMANOS<span id="deptoNombresGde"></span></td>
<td>
<div id="activoGde1" class="draggable" style="border:1px solid black;padding:5px;width:20px;text-align:center;float:right;">1</div>
</td>
<td>
<div id="activoGde2" class="draggable" style="border:1px solid black;padding:5px;width:20px;text-align:center;">2</div>
</td>
</tr>
<tr>
<td colspan="6" id="deptoNombresGdeXX" style="text-align:center;height:1px;"></td>
<td colspan="4" rowspan="8" id="imagenDepto" style="text-align:center;vertical-align:top;"><img id="imagenDeptoGde" src="img/depto-recursos.png" style="text-align:center;width:190px;"><span id="nuevoNombreDeptoGde" style="font-weight:bold;font-size:16px;"></span></td>
</tr>
<tr>
<td colspan="6" style="text-align:center;background-color:gray;color:white;height:25px;">Recursos Disponibles</td>
</tr>
<tr>
<td colspan="6" id="recursosDisponiblesGde" style="height:80px;text-align:center;">
<table style="margin-left:8px;" cellpadding="0" cellspacing="0">
<tr>
<td style="width:32%;">
<table style="width:80px;">
<tr>
<td style="text-align:center;">
<div stylex="vertical-align:middle;display:inline-block;position:relative;z-index:5;">
<img src="img/tiempoNegro.png" height="48px">
</div>
<div stylex="display:inline-block;color:white;margin-left:-28px;background-color:black;padding-left:30px;z-index:0;padding-right:10px;padding-top:5px;padding-bottom:5px;" id="recursoDispTiempoGde" class="draggable">
2
</div>
</td>
</tr>
</table>
</td>
<td style="width:32%;">
<table style="width:80px;">
<tr>
<td style="text-align:center;">
<div stylex="vertical-align:middle;display:inline-block;position:relative;z-index:5;">
<img src="img/personalNegro.png" height="48px">
</div>
<div stylex="display:inline-block;color:white;margin-left:-28px;background-color:black;padding-left:30px;z-index:0;padding-right:10px;padding-top:5px;padding-bottom:5px;" id="recursoDispPersonalGde" class="draggable">
2
</div>
</td>
</tr>
</table>
</td>
<td style="width:32%;">
<table style="width:80px;">
<tr>
<td style="text-align:center;">
<div stylex="vertical-align:middle;display:inline-block;position:relative;z-index:5;">
<img src="img/capitalNegro.png" height="48px">
</div>
<div stylex="display:inline-block;color:white;margin-left:-28px;background-color:black;padding-left:30px;z-index:0;padding-right:10px;padding-top:5px;padding-bottom:5px;" id="recursoDispCapitalGde" class="draggable">
<!-- stylex="display:inline-block;color:white;margin-left:-28px;" -->
2
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="6" style="text-align:center;background-color:gray;color:white;height:25px;">Habilidades Acreditadas</td>
</tr>
<tr>
<td colspan="6" style="text-align:center; height:30px;" id="habilidadesAcreditadasGde1"></td>
</tr>
<tr>
<td colspan="6" style="text-align:center; height:30px;" id="habilidadesAcreditadasGde2"></td>
</tr>
<tr>
<td colspan="6" style="text-align:center; height:30px;" id="habilidadesAcreditadasGde3"></td>
</tr>
<tr>
<td colspan="10" style="text-align:center;background-color:gray;color:white;height:20px;">Habilidad Especial / Quincenal</td>
</tr>
<tr>
<td colspan="10" id="accionEspecialGde" style="text-align:center;background-color:silver;color:black;height:19px;">Generar 1 activo sin costo</td>
</tr>
</table>
</div>
<div style="display:inline-block;">&nbsp;</div>
<div style="display:inline-block;width:29.8%;box-sizing:border-box;border:solid 3px;border-color:gray;vertical-align:top;">
<table id="TablaProyectoGde" num="0" class="renglonSup">
<tr>
<td colspan="10" style="height:28px;text-align:center;font-size:18px;font-weight:700;border-bottom:1px solid black;">Proyecto en Turno</td>
</tr>
<tr style="border-top:1px solid black;border-bottom:1px solid black;">
<td id="nombreProyectoGde" colspan="8" style="text-align:center;font-size:18px;font-weight:700;">INDICADORES ROI<br><span id='proyectoDeptoGde'>FINANZAS</span></td>
<td id="puntosGanados" style="text-align:center;font-size:15px;">1</td>
<td id="puntosPerdidos" style="text-align:center;font-size:15px;">2</td>
</tr>
<tr>
<td id="descripcionProyectoGde" colspan="8" style="text-align:center;">Establecer<br>Indicadores de ROI en<br>tiendas físicas</td>
<td colspan="2" colspan="5" style="text-align:center;"><img id="imagenProyectoGde" src="img/grafica.jpg" style="width:190px;"></td>
</tr>
<tr>
<td colspan="10" style="text-align:center;">
<table id="activosProyectoGde">
<tr class="droppableActivos">
<td id="activoReqProyectoNom1" num="1" style="width:100px;">Analista</td>
<td id="activoReqProyectoCantX1">1</td>
<td id="activoReqProyectoNom2" num="2" style="width:100px;">Personal<br>calificado</td>
<td id="activoReqProyectoCantX2">2</td>
<td id="activoReqProyectoNom3" num="3" style="width:100px;">Crédito o<br>Inversión</td>
<td id="activoReqProyectoCantX3">2</td>
</tr>
</table>
</td>
</tr>
<tr>
<!-- <td colspan="5" style="text-align:center;background-color:gray;color:white;"></td> -->
<td colspan="10" id="mantoGde" style="text-align:center;background-color:gray;color:white;">MTTO: 1T + 1P + 1C</td>
</tr>
<tr>
<td colspan="10" style="text-align:center;;">
<table id="activosProyectoGde">
<tr class="droppableActivos">
<td>&nbsp;&nbsp;</td>
<td id="activoReqProyectoCant1">1</td>
<td>&nbsp;&nbsp;</td>
<td id="activoReqProyectoCant2">2</td>
<td>&nbsp;&nbsp;</td>
<td id="activoReqProyectoCant3">2</td>
<td>&nbsp;&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr style="height:5px;font-size:3px;">
<td>&nbsp;</td>
</tr>
<tr>
<td id="renglonDeptos">
<div style="display:inline-block;width:16.2%;box-sizing:border-box;border:solid 3px;border-color:gray;margin-right:1px;">
<table style="border-collapse: collapse;" class="departamentos droppableRecursos " id="MarketingYVentas">
<tr>
<td colspan="3" style="text-align:center;border-bottom:1px solid gray;padding-bottom:5px;padding-top:5px;height:35px;">
<table>
<tr>
<td class="deptoNombre"><span id="nombreDeptoCh">MARKETING Y VENTAS</span></td>
<td style="width:25%;">
<span style="border:1px solid black;padding:5px;" class="actPersonalCalificado" id="activoCh1">1</span>
<span style="border:1px solid black;padding:5px;" class="actFlujoDeEfectivo" id="activoCh2">2</span>
</td>
</tr>
</table>
</td>
</tr>
<tr style="vertical-align:middle;border-bottom:1px solid gray;">
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="tiempoCh">2</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="personalCh">3</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="capitalCh">1</div>
</td>
</tr>
<!-- <tr>
<td colspan="3" style="text-align:center;">Habilidades Acreditadas</td>
</tr> -->
<!-- <tr>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="tiempoHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="personalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="capitalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
</td>
</tr> -->
</table>
</div>
<div style="display:inline-block;width:16.2%;box-sizing:border-box;border:solid 3px;border-color:gray;margin-right:1px;">
<table style="border-collapse:collapse;" class="departamentos droppableRecursos " id="Finanzas">
<tr>
<td colspan="3" style="text-align:center;border-bottom:1px solid gray;padding-bottom:5px;padding-top:5px;height:35px;">
<table>
<tr>
<td class="deptoNombre"><span id="nombreDeptoCh">FINANZAS</span></td>
<td style="width:25%;">
<span style="border:1px solid black;padding:5px;" class="actFlujoDeEfectivo" id="activoCh1">1</span>
<span style="border:1px solid black;padding:5px;" class="actCreditoEInversion" id="activoCh2">2</span>
</td>
</tr>
</table>
</td>
</tr>
<tr style="vertical-align:middle;border-bottom:1px solid gray;">
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="tiempoCh">2</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="personalCh">3</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="capitalCh">1</div>
</td>
</tr>
<!-- <tr>
<td colspan="3" style="text-align:center;">Habilidades Acreditadas</td>
</tr> -->
<!-- <tr>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="tiempoHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="personalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="capitalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
</td>
</tr> -->
</table>
</div>
<div style="display:inline-block;width:16.2%;box-sizing:border-box;border:solid 3px;border-color:gray;margin-right:1px;">
<table style="border-collapse:collapse;" class="departamentos droppableRecursos" id="InvestigacionYDesarrollo">
<tr>
<td colspan="3" style="text-align:center;border-bottom:1px solid gray;padding-bottom:5px;padding-top:5px;height:35px;">
<table>
<tr>
<td class="deptoNombre"><span id="nombreDeptoCh">INVESTIGACION Y DESARROLLO</span></td>
<td style="width:25%;">
<span style="border:1px solid black;padding:5px;" class="actCreditoEInversion" id="activoCh1">1</span>
<span style="border:1px solid black;padding:5px;" class="actTecnologia" id="activoCh2">2</span>
</td>
</tr>
</table>
</td>
</tr>
<tr style="vertical-align:middle;border-bottom:1px solid gray;">
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="tiempoCh">2</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="personalCh">3</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="capitalCh">1</div>
</td>
</tr>
<!-- <tr>
<td colspan="3" style="text-align:center;">Habilidades Acreditadas</td>
</tr> -->
<!-- <tr>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="tiempoHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="personalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="capitalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
</td>
</tr> -->
</table>
</div>
<div style="display:inline-block;width:16.2%;box-sizing:border-box;border:solid 3px;border-color:gray;margin-right:1px;">
<table style="border-collapse:collapse;" class="departamentos droppableRecursos" id="LogisticaYSistemas">
<tr>
<td colspan="3" style="text-align:center;border-bottom:1px solid gray;padding-bottom:5px;padding-top:5px;height:35px;">
<table>
<tr>
<td class="deptoNombre"><span id="nombreDeptoCh">LOGÍSTICA Y SISTEMAS</span></td>
<td style="width:25%;">
<span style="border:1px solid black;padding:5px;" class="actTecnologia" id="activoCh1">1</span>
<span style="border:1px solid black;padding:5px;" class="actTransporteYMaquinaria" id="activoCh2">2</span>
</td>
</tr>
</table>
</td>
</tr>
<tr style="vertical-align:middle;border-bottom:1px solid gray;">
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="tiempoCh">2</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="personalCh">3</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="capitalCh">1</div>
</td>
</tr>
<!-- <tr>
<td colspan="3" style="text-align:center;">Habilidades Acreditadas</td>
</tr> -->
<!-- <tr>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="tiempoHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="personalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="capitalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
</td>
</tr> -->
</table>
</div>
<div style="display:inline-block;width:16.2%;box-sizing:border-box;border:solid 3px;border-color:gray;margin-right:1px;">
<table style="border-collapse:collapse;" class="departamentos droppableRecursos" id="Operaciones">
<tr>
<td colspan="3" style="text-align:center;border-bottom:1px solid gray;padding-bottom:5px;padding-top:5px;height:35px;">
<table>
<tr>
<td class="deptoNombre"><span id="nombreDeptoCh">OPERACIONES</span></td>
<td style="width:25%;">
<span style="border:1px solid black;padding:5px;" class="actTransporteYMaquinaria" id="activoCh1">1</span>
<span style="border:1px solid black;padding:5px;" class="actAnalistas" id="activoCh2">2</span>
</td>
</tr>
</table>
</td>
</tr>
<tr style="vertical-align:middle;border-bottom:1px solid gray;">
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="tiempoCh">2</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="personalCh">3</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="capitalCh">1</div>
</td>
</tr>
<!-- <tr>
<td colspan="3" style="text-align:center;">Habilidades Acreditadas</td>
</tr> -->
<!-- <tr>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="tiempoHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="personalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="capitalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
</td>
</tr> -->
</table>
</div>
<div style="display:inline-block;width:16.2%;box-sizing:border-box;border:solid 3px;border-color:gray;margin-right:1px;">
<table style="border-collapse: collapse;" class="departamentos droppableRecursos" id="RecursosHumanos">
<tr>
<td colspan="3" style="text-align:center;border-bottom:1px solid gray;padding-bottom:5px;padding-top:5px;height:35px;">
<table>
<tr>
<td class="deptoNombre"><span id="nombreDeptoCh">RECURSOS HUMANOS</span></td>
<td style="width:25%;">
<span style="border:1px solid black;padding:5px;" class="actPersonalCalificado" id="activoCh1">1</span>
<span style="border:1px solid black;padding:5px;" class="actAnalistas" id="activoCh2">2</span>
</td>
</tr>
</table>
</td>
</tr>
<tr style="vertical-align:middle;border-bottom:1px solid gray;">
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="tiempoCh">2</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="personalCh">3</div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
<div style="vertical-align:middle;display:inline-block;" id="capitalCh">1</div>
</td>
</tr>
<!-- <tr>
<td colspan="3" style="text-align:center;">Habilidades Acreditadas</td>
</tr> -->
<!-- <tr>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="tiempoHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/tiempoCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="personalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/personalCH.png" style="width: 35px; height: 35px;"></div>
</td>
<td style="text-align:center;">
<div style="vertical-align:middle;display:inline-block;" id="capitalHA">-1</div>
<div style="vertical-align:middle;display:inline-block;"><img src="img/capitalCH.png" style="width: 35px; height: 35px;"></div>
</td>
</tr> -->
</table>
</div>
</td>
</tr>
<tr style="height:5px;font-size:3px;">
<td>&nbsp;</td>
<tr>
<td id="renglonProyectos">
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_1">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;">PROCESO SANITIZACIÓN XXX</div>
<span id="proyectoDepto" style="font-size:11px;">OPERACIONES</span> <span id="puntos" style="font-size:11px;">+1</span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion">Establecer proceso extra de sanitización de los productos antes de enviarse.</td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1">3 FE</div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2">2 TM</div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3">1 T</div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;"><!--En procesox -->
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto">MTTO: 2C+2P+1T</div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;">1</span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;">0</span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;">2</span>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_2">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;"> </div>
<span id="proyectoDepto" style="font-size:11px;"> </span> <span id="puntos" style="font-size:11px;">+1</span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion"> </td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1">3 FE</div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2">2 TM</div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3">1 T</div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;"><!--En procesox -->
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto">MTTO: 2C+2P+1T</div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;">1</span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;">0</span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;">2</span>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_3">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;"> </div>
<span id="proyectoDepto" style="font-size:11px;"> </span> <span id="puntos" style="font-size:11px;">+1</span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion"> </td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1">3 FE</div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2">2 TM</div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3">1 T</div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;"><!--En procesox -->
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto">MTTO: 2C+2P+1T</div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;">1</span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;">0</span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;">2</span>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_4">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;"> </div>
<span id="proyectoDepto" style="font-size:11px;"> </span> <span id="puntos" style="font-size:11px;"></span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion"> </td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1"></div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2"></div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3"></div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;">
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto"></div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;"></span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;"></span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;"></span>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_5">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;"> </div>
<span id="proyectoDepto" style="font-size:11px;"> </span> <span id="puntos" style="font-size:11px;"></span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion"> </td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1"></div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2"></div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3"></div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;">
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto"></div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;"></span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;"></span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;"></span>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_6">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;"> </div>
<span id="proyectoDepto" style="font-size:11px;"> </span> <span id="puntos" style="font-size:11px;"></span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion"> </td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1"></div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2"></div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3"></div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;">
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto"></div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;"></span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;"></span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;"></span>
</td>
</tr>
</table>
</div>
<div style="display:inline-block;width:13.9%;box-sizing:border-box;border:solid 3px;border-color:gray;">
<table stylze="border-collapse:collapse;border:gray;" class="proyectos droppableActivos" id="proyecto_7">
<tr style="height:50px;">
<td colspan="3" class="proyectoEncabezado" style="text-align:center;">
<div id="proyectoNombre" style="font-size:12px;"> </div>
<span id="proyectoDepto" style="font-size:11px;"> </span> <span id="puntos" style="font-size:11px;"></span>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;font-style:italic;height:92px;" id="proyectoDescripcion"> </td>
</tr>
<tr>
<td style="text-align:center;">
<div class="actFlujoDeEfectivo" style="vertical-align:middle;display:inline-block;" id="activoReq1"></div>
<div class="actTransporteYMaquinaria" style="vertical-align:middle;display:inline-block;" id="activoReq2"></div>
<div class="actTecnologia" style="vertical-align:middle;display:inline-block;" id="activoReq3"></div>
</td>
</tr>
<tr>
<td colspan="3" style="font-size:14px;text-align:center;background-color:silver;">
<div style="display:inline-block;font-size:12px;background-color:gray;color:white;padding:2px;float:right;" id="recursosManto"></div>
</td>
</tr>
<tr>
<td colspan="3" style="text-align:center;">
<span class="actFlujoDeEfectivo" id="activoAsignado1" style="width:35px;display:inline-block;"></span>
<span class="actTransporteYMaquinaria" id="activoAsignado2" style="width:35px;display:inline-block;"></span>
<span class="actTecnologia" id="activoAsignado3" style="width:35px;display:inline-block;"></span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<div id="quitarProyectoCompleto" style="display:none;">
<div id="quitarProyectoCompletoTexto" style="font-size:14px;">¿Está seguro que desea quitar el proyecto completado?</div>
<div id="quitarProyectoCompletoBotones" style="text-align:center;">
</div>
</div>
<script>
let deptoActual = ""
let activosDeptoActualPermitidos = []
let ultimoProyectoLlenado = 0
let proyectoGdeActual = ""
let recPersonal = 0;
let recTiempo = 0;
let recCapital = 0;
let originalPosition;
let siguientesProyectos = [];
let proyectoAQuitar = 1000;
let proyectosAbiertos = [];
let habilidadesAcreditadasActivas = false;
let habilidadAcreditadaEnEspera = "";
let habilidadesAcreditadasDisponibles = 0;
let beneficioTiempo = 0;
let beneficioPersonal = 0;
let beneficioCapital = 0;
$("#asignarRecursos").button();
$('.departamentos').css('height', $('#renglonDeptos').height());
$('.renglonSup').css('height', $('#renglonSuperior').height());
$('.proyectos').css('height', $('#renglonProyectos').height());
$('#tablaAccionesPosibles').css('height', $('#tablaActivos').height());
let arreglosCapacitaciones = {}
arreglosCapacitaciones['arrAbstraccionDeLaRealidad'] = [{
name: 'nombre',
value: 'Abstracción de la realidad'
},
{
name: 'costoTiempo',
value: 2
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HC'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Personal'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrGeneracionDeIdeas'] = [{
name: 'nombre',
value: 'Generación de Ideas'
}, {
name: 'costoTiempo',
value: 2
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HC'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Personal'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrInnovacion'] = [{
name: 'nombre',
value: 'Innovación'
}, {
name: 'costoTiempo',
value: 2
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HC'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Personal'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrResolucionDeConflictos'] = [{
name: 'nombre',
value: 'Resolución de conflictos'
}, {
name: 'costoTiempo',
value: 2
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HC'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Personal'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrTomaDeDesiciones'] = [{
name: 'nombre',
value: 'Toma de desiciones'
}, {
name: 'costoTiempo',
value: 2
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HC'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Personal'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrActitudDeServicio'] = [{
name: 'nombre',
value: 'Actitud de servicio'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 2
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HH'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Tiempo'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrAdministracionDeTiempo'] = [{
name: 'nombre',
value: 'Administración de tiempo'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 2
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HH'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Tiempo'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrCoaching'] = [{
name: 'nombre',
value: 'Coaching'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 2
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HH'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Tiempo'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrComunicacion'] = [{
name: 'nombre',
value: 'Comunicación'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 2
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HH'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Tiempo'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrDelegacion'] = [{
name: 'nombre',
value: 'Delegación'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 2
},
{
name: 'costoCapital',
value: 1
},
{
name: 'tipo',
value: 'HH'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Tiempo'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrAdministracionDeEstrategias'] = [{
name: 'nombre',
value: 'Administración de Estrategias'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 2
},
{
name: 'tipo',
value: 'HT'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Capital'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrAdministracionFinanciera'] = [{
name: 'nombre',
value: 'Administración Financiera'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 2
},
{
name: 'tipo',
value: 'HT'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Capital'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrAdministracionDePersonal'] = [{
name: 'nombre',
value: 'Administración de Personal'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 2
},
{
name: 'tipo',
value: 'HT'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Capital'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrAdministracionDeProcesos'] = [{
name: 'nombre',
value: 'Administración de Procesos'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 2
},
{
name: 'tipo',
value: 'HT'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Capital'
},
{
name: 'departamentoAsignado',
value: ''
}
];
arreglosCapacitaciones['arrAdministracionDeProyectos'] = [{
name: 'nombre',
value: 'Administración de Proyectos'
}, {
name: 'costoTiempo',
value: 1
},
{
name: 'costoPersonal',
value: 1
},
{
name: 'costoCapital',
value: 2
},
{
name: 'tipo',
value: 'HT'
},
{
name: 'beneficio',
value: -1
},
{
name: 'tipoRecurso',
value: 'Capital'
},
{
name: 'departamentoAsignado',
value: ''
}
];
let arreglosActivos = {}
arreglosActivos['arrPersonalCalificado'] = [{
name: 'produccionTiempo',
value: 1
},
{
name: 'produccionPersonal',
value: 2
},
{
name: 'produccionCapital',
value: 2
},
{
name: 'recuperacionTiempo',
value: 0
},
{
name: 'recuperacionPersonal',
value: 1
},
{
name: 'recuperacionCapital',
value: 1
}
];
arreglosActivos['arrAnalistas'] = [{
name: 'produccionTiempo',
value: 2
},
{
name: 'produccionPersonal',
value: 2
},
{
name: 'produccionCapital',
value: 1
},
{
name: 'recuperacionTiempo',
value: 1
},
{
name: 'recuperacionPersonal',
value: 1
},
{
name: 'recuperacionCapital',
value: 0
}
];
arreglosActivos['arrFlujoDeEfectivo'] = [{
name: 'produccionTiempo',
value: 2
},
{
name: 'produccionPersonal',
value: 1
},
{
name: 'produccionCapital',
value: 2
},
{
name: 'recuperacionTiempo',
value: 1
},
{
name: 'recuperacionPersonal',
value: 0
},
{
name: 'recuperacionCapital',
value: 1
}
];
arreglosActivos['arrCreditoEInversion'] = [{
name: 'produccionTiempo',
value: 1
},
{
name: 'produccionPersonal',
value: 2
},
{
name: 'produccionCapital',
value: 2
},
{
name: 'recuperacionTiempo',
value: 0
},
{
name: 'recuperacionPersonal',
value: 1
},
{
name: 'recuperacionCapital',
value: 1
}
];
arreglosActivos['arrTecnologia'] = [{
name: 'produccionTiempo',
value: 2
},
{
name: 'produccionPersonal',
value: 1
},
{
name: 'produccionCapital',
value: 2
},
{
name: 'recuperacionTiempo',
value: 1
},
{
name: 'recuperacionPersonal',
value: 0
},
{
name: 'recuperacionCapital',
value: 1
}
];
arreglosActivos['arrTransporteYMaquinaria'] = [{
name: 'produccionTiempo',
value: 2
},
{
name: 'produccionPersonal',
value: 2
},
{
name: 'produccionCapital',
value: 1
},
{
name: 'recuperacionTiempo',
value: 1
},
{
name: 'recuperacionPersonal',
value: 1
},
{
name: 'recuperacionCapital',
value: 0
}
];
let arreglosDeptos = {}
arreglosDeptos['arrMarketingYVentas'] = [{
name: 'nombre',
value: "MARKETING Y VENTAS"
},
{
name: 'integrantes',
value: ""
},
{
name: 'activo1',
value: 0
},
{
name: 'activo1Tipo',
value: "PersonalCalificado"
},
{
name: 'activo2',
value: 0
},
{
name: 'activo2Tipo',
value: "FlujoDeEfectivo"
},
{
name: 'recursoTiempo',
value: 0
},
{
name: 'recursoPersonal',
value: 0
},
{
name: 'recursoCapital',
value: 0
},
{
name: 'habilidadTiempo',
value: 0
},
{
name: 'habilidadPersonal',
value: 0
},
{
name: 'habilidadCapital',
value: 0
},
{
name: 'imagen',
value: "depto-marketing.png"
},
{
name: 'accionEspecialQuincenal',
value: "Generar 1 activo sin costo"
}
];
arreglosDeptos['arrFinanzas'] = [{
name: 'nombre',
value: "FINANZAS"
},
{
name: 'integrantes',
value: ""
},
{
name: 'activo1',
value: 0
},
{
name: 'activo1Tipo',
value: "FlujoDeEfectivo"
},
{
name: 'activo2',
value: 0
},
{
name: 'activo2Tipo',
value: "CreditoEInversion"
},
{
name: 'recursoTiempo',
value: 0
},
{
name: 'recursoPersonal',
value: 0
},
{
name: 'recursoCapital',
value: 0
},
{
name: 'habilidadTiempo',
value: 0
},
{
name: 'habilidadPersonal',
value: 0
},
{
name: 'habilidadCapital',
value: 0
},
{
name: 'imagen',
value: "depto-finanzas.png"
},
{
name: 'accionEspecialQuincenal',
value: "Generar 2 activo sin costo"
}
];
arreglosDeptos['arrInvestigacionYDesarrollo'] = [{
name: 'nombre',
value: "INVESTIGACIÓN Y DESARROLLO"
},
{
name: 'integrantes',
value: ""
},
{
name: 'activo1',
value: 0
},
{
name: 'activo1Tipo',
value: "CreditoEInversion"
},
{
name: 'activo2',
value: 0
},
{
name: 'activo2Tipo',
value: "Tecnologia"
},
{
name: 'recursoTiempo',
value: 0
},
{
name: 'recursoPersonal',
value: 0
},
{
name: 'recursoCapital',
value: 0
},
{
name: 'habilidadTiempo',
value: 0
},
{
name: 'habilidadPersonal',
value: 0
},
{
name: 'habilidadCapital',
value: 0
},
{
name: 'imagen',
value: "depto-investigacion.png"
},
{
name: 'accionEspecialQuincenal',
value: "Generar 3 activo sin costo"
}
];
arreglosDeptos['arrLogisticaYSistemas'] = [{
name: 'nombre',
value: "LOGÍSTICA Y SISTEMAS"
},
{
name: 'integrantes',
value: ""
},
{
name: 'activo1',
value: 0
},
{
name: 'activo1Tipo',
value: "Tecnologia"
},
{
name: 'activo2',
value: 0
},
{
name: 'activo2Tipo',
value: "TransporteYMaquinaria"
},
{
name: 'recursoTiempo',
value: 0
},
{
name: 'recursoPersonal',
value: 0
},
{
name: 'recursoCapital',
value: 0
},
{
name: 'habilidadTiempo',
value: 0
},
{
name: 'habilidadPersonal',
value: 0
},
{
name: 'habilidadCapital',
value: 0
},
{
name: 'imagen',
value: "depto-logistica.png"
},
{
name: 'accionEspecialQuincenal',
value: "Generar 4 activo sin costo"
}
];
arreglosDeptos['arrOperaciones'] = [{
name: 'nombre',
value: "OPERACIONES"
},
{
name: 'integrantes',
value: ""
},
{
name: 'activo1',
value: 0
},
{
name: 'activo1Tipo',
value: "TransporteYMaquinaria"
},
{
name: 'activo2',
value: 0
},
{
name: 'activo2Tipo',
value: "Analistas"
},
{
name: 'recursoTiempo',
value: 0
},
{
name: 'recursoPersonal',
value: 0
},
{
name: 'recursoCapital',
value: 0
},
{
name: 'habilidadTiempo',
value: 0
},
{
name: 'habilidadPersonal',
value: 0
},
{
name: 'habilidadCapital',
value: 0
},
{
name: 'imagen',
value: "depto-operaciones.png"
},
{
name: 'accionEspecialQuincenal',
value: "Generar 5 activo sin costo"
}
];
arreglosDeptos['arrRecursosHumanos'] = [{
name: 'nombre',
value: "RECURSOS HUMANOS"
},
{
name: 'integrantes',
value: ""
},
{
name: 'activo1',
value: 0
},
{
name: 'activo1Tipo',
value: "PersonalCalificado"
},
{
name: 'activo2',
value: 0
},
{
name: 'activo2Tipo',
value: "Analistas"
},
{
name: 'recursoTiempo',
value: 0
},
{
name: 'recursoPersonal',
value: 0
},
{
name: 'recursoCapital',
value: 0
},
{
name: 'habilidadTiempo',
value: 0
},
{
name: 'habilidadPersonal',
value: 0
},
{
name: 'habilidadCapital',
value: 0
},
{
name: 'imagen',
value: "depto-recursos.png"
},
{
name: 'accionEspecialQuincenal',
value: "Generar 6 activo sin costo"
}
];
const proyectos = [{
id: 1,
nombreProyecto: "Capacitación Brigadas",
descripcion: "Capacitación de brigadas de protección civil",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 1,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "1 Brigadas.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 2,
nombreProyecto: "Mejoramiento inducción",
descripcion: "Mejoramiento del proceso de inducción para hacerlo on boarding, más rápido y mejor experiencia para el candidato",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: 1,
verdes: null,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "2-onboarding.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 3,
nombreProyecto: "Comunicación prestaciones",
descripcion: "Comunicar las nuevas prestaciones de la empresa",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 1,
mantenimiento: "N/A",
imagen: "3Prestaciones.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 4,
nombreProyecto: "Campaña valores corporativos",
descripcion: "Campaña de fortalecimiento de valores corporativos",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 2,
naranjas: 2,
verdes: 1,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "4Valores.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 5,
nombreProyecto: "Implementación NOM-035",
descripcion: "Implementación de la NOM-035 en la compañía",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: 2,
verdes: null,
azules: 2,
rojos: null,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "5Nom035.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 6,
nombreProyecto: "Campaña reconocimiento a colaboradores",
descripcion: "Instaurar campaña permanente de reconocimiento a colaboradores. Realización de indicadores.",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 2,
naranjas: null,
verdes: null,
azules: 2,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "6Reconocimiento.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 7,
nombreProyecto: "Unificación de identidad y valores corporativos",
descripcion: "La compañía se ha fusionado con una empresa de otro país. Unificación de identidad y valores corporativos",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 2,
naranjas: 2,
verdes: 3,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 1P 2C",
imagen: "7-fusion.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 8,
nombreProyecto: "Plan de compensaciones",
descripcion: "Desarrollar un plan de compensaciones enfocado en personal operativo",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: 2,
verdes: null,
azules: 2,
rojos: null,
morados: 3,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 2P 2C",
imagen: "8Compensaciones.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 9,
nombreProyecto: "Programa de aprendizaje",
descripcion: "Crear un programa de aprendizaje continuo en todos los niveles con base en los perfiles de puesto y necesidades detectadas",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 2,
naranjas: null,
verdes: null,
azules: 2,
rojos: 3,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 2P 1C",
imagen: "9Capacitacion.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 10,
nombreProyecto: "Incidencia",
descripcion: "Accidente de trabajo (resbalón con un pay de queso)",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "10IncidenciaPay.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Todos los departamentos"
},
{
id: 11,
nombreProyecto: "Incidencia",
descripcion: "Asamblea interminable con trabajadores",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 2,
verdes: null,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "11Asamblea.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Operaciones y Marketing y Ventas"
},
{
id: 12,
nombreProyecto: "Incidencia",
descripcion: "Actualización de Software de nómina (viernes de quincena sin quincena)",
departamento: "RECURSOS HUMANOS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: 2,
verdes: null,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "12Nomina.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Recursos Humanos"
},
{
id: 13,
nombreProyecto: "Punto de venta",
descripcion: "Abrir nuevo punto de venta",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: null,
verdes: 1,
azules: null,
rojos: null,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "13PuntoVenta.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 14,
nombreProyecto: "Campaña redes sociales",
descripcion: "Hacer campaña permanente en redes sociales",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: 1,
verdes: null,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "14Redes.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 15,
nombreProyecto: "Campaña de marca",
descripcion: "Realización de campaña de reputación de nuestra marca",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "15Reputacion.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 16,
nombreProyecto: "Investigación de mercado",
descripcion: "Investigación de mercado para nuevo producto",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 2,
naranjas: null,
verdes: 2,
azules: null,
rojos: null,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "16EstudioMercado.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 17,
nombreProyecto: "Investigación Mistery Shopper",
descripcion: "Investigación Mistery Shopper en tiendas de todo el país",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 2,
naranjas: 2,
verdes: null,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "17Mistery.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 18,
nombreProyecto: "Campaña Fidelidad",
descripcion: "Diseñar campaña de fidelidad por medio de puntos",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: 2,
verdes: 2,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "18Fidelizacion.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 19,
nombreProyecto: "Nuevo producto",
descripcion: "Lanzamiento de nuevo producto en zona Sureste",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 2,
naranjas: null,
verdes: 2,
azules: null,
rojos: null,
morados: 3,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 1P 2C",
imagen: "19LanzamientoProducto.png",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 20,
nombreProyecto: "Asistencia expo",
descripcion: "Asistir a la expo más importante del sector y mejorar las ventas del año pasado",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 2,
naranjas: 2,
verdes: null,
azules: 3,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 2P 2C",
imagen: "20Expo.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 21,
nombreProyecto: "Implementación en línea",
descripcion: "Implementación de tienda en línea de todos los productos",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: 2,
verdes: 2,
azules: 3,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 2P 1C",
imagen: "21TiendaLinea.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 22,
nombreProyecto: "Incidencia",
descripcion: "Mala fama: alguien dijo que nuestro producto engorda",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "22Engorda.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Todos los departamentos"
},
{
id: 23,
nombreProyecto: "Incidencia",
descripcion: "Pusieron los espectaculares de cabeza",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: null,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "23AnunciosAlreves.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Recursos Humanos y Finanzas"
},
{
id: 24,
nombreProyecto: "Incidencia",
descripcion: "Le cobraste en pesos y era en dólares",
departamento: "MARKETING Y VENTAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 2,
naranjas: null,
verdes: null,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "24ErrorDolares.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Marketing y Ventas"
},
{
id: 25,
nombreProyecto: "Reparto de utilidades",
descripcion: "Hacer reparto de utilidades",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: null,
verdes: 1,
azules: null,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "25RepartoUtilidades.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 26,
nombreProyecto: "Auditoría interna",
descripcion: "Auditoría interna de control de gastos",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: null,
verdes: 1,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "26AuditoriaGastos.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 27,
nombreProyecto: "Plan cartera vencida",
descripcion: "Realizar plan para recuperación de cartera vencida",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: 1,
verdes: null,
azules: null,
rojos: null,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "27CarteraVencida.jpg",
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 28,
nombreProyecto: "Venta franquicias",
descripcion: "Creación de modelo de venta de franquicias",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: null,
verdes: 2,
azules: null,
rojos: 1,
morados: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "28Franquicias.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 29,
nombreProyecto: "Apertura de sucursales",
descripcion: "Creación de modelo de apertura de sucursales",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 2,
naranjas: null,
verdes: 2,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "29AperturaTiendas.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 30,
nombreProyecto: "Indicadores ROI",
descripcion: "Establecer indicadores de ROI en tiendas físicas",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 2,
naranjas: 1,
verdes: null,
azules: null,
rojos: null,
morados: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: "30ROItiendas.jpg",
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 31,
nombreProyecto: "Adquisición",
descripcion: "Adquisición de compañía menor",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: null,
verdes: 2,
azules: null,
rojos: 3,
morados: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 1P 2C",
imagen: "31Adquisicion.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 32,
nombreProyecto: "Bolsa de valores",
descripcion: "Analizar los riesgos de participación en la bolsa de valores",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 2,
naranjas: null,
verdes: 2,
azules: 3,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 2P 2C",
imagen: "32BolsaValores.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 33,
nombreProyecto: "Estrategía de exportación",
descripcion: "Estrategía de exportación al mercado europeo",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 2,
naranjas: 3,
verdes: null,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 2P 1C",
imagen: "33ExportEuropa.jpg",
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 34,
nombreProyecto: "Incidencia",
descripcion: "Auditoría: los hombres de negro en la oficina",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "34HombreDeNegro",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Todos los departamentos"
},
{
id: 35,
nombreProyecto: "Incidencia",
descripcion: "El dólar por las nubes",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: null,
verdes: 2,
azules: null,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "35DolarNubes.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Marketing y Ventas e Investigación y Desarrollo"
},
{
id: 36,
nombreProyecto: "Incidencia",
descripcion: "Las monedas de oro eran de chocolate",
departamento: "FINANZAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: 2,
verdes: null,
azules: null,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: "36MonedasChoco.jpg",
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Finanzas"
},
{
id: 37,
nombreProyecto: "Nuevas Patentes",
descripcion: "Registrar las nuevas patentes",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: null,
verdes: null,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 38,
nombreProyecto: "Dinámicas de Innovación",
descripcion: "Implementar dinámicas de innovación en todas las áreas de la empresa",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: 1,
verdes: 1,
azules: null,
rojos: null,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 39,
nombreProyecto: "Sistema de fidelidad",
descripcion: "Mejorar el sistema de fidelidad de los clientes",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: null,
verdes: 1,
azules: null,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 40,
nombreProyecto: "Sello con holograma",
descripcion: "Realizar sello con holograma para los productos que nos han copiado",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: null,
verdes: 1,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 41,
nombreProyecto: "Simulador prueba",
descripcion: "Realización de un simulador para la prueba de prototipos",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: 1,
verdes: 2,
azules: null,
rojos: null,
morados: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 42,
nombreProyecto: "Modelo de innovación",
descripcion: "Desarrollar tu propio modelo de innovación",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 2,
amarillo: 1,
naranjas: null,
verdes: 2,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 43,
nombreProyecto: "Sistema de almacén",
descripcion: "Hacer un sistema de almacén que funcione con puros robots",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: null,
verdes: 3,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 1P 2C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 44,
nombreProyecto: "Ludoteca",
descripcion: "Diseñar una ludoteca dentro de la empresa",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: 3,
verdes: 2,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 2P 2C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 45,
nombreProyecto: "Nuevo producto",
descripcion: "Desarrollar un producto que revolucione el mercado",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: 3,
amarillo: 3,
naranjas: null,
verdes: 2,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 2P 1C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 46,
nombreProyecto: "Incidencia",
descripcion: "Juicio de patentes",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Todos los departamentos"
},
{
id: 47,
nombreProyecto: "Incidencia",
descripcion: "El nuevo producto causa comezón en la piel",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: 1,
verdes: null,
azules: 1,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Finanzas y Logística y Sistemas"
},
{
id: 48,
nombreProyecto: "Incidencia",
descripcion: "Los chinos nos ganaron la idea",
departamento: "INVESTIGACIÓN Y DESARROLLO",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: null,
verdes: null,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Investigación y Desarrollo"
},
{
id: 49,
nombreProyecto: "Instalación de antivirus",
descripcion: "Instalación de antivirus en todas las computadoras",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: 1,
verdes: null,
azules: 1,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 50,
nombreProyecto: "Respaldo de información",
descripcion: "Respaldar la información y hacer copia de seguridad",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: null,
verdes: null,
azules: 1,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 51,
nombreProyecto: "Manual de procedimientos",
descripcion: "Documentar las actividades de logística para generar manuales de procedimientos",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: null,
verdes: null,
azules: 1,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 52,
nombreProyecto: "Sistema de comunicación en Red",
descripcion: "Migrar a un nuevo sistema de Comunicación en Red",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: 1,
verdes: null,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 53,
nombreProyecto: "Encriptación de información",
descripcion: "Encriptación de información sensible de la empresa",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: 1,
naranjas: null,
verdes: null,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 54,
nombreProyecto: "Sistema de rastreo",
descripcion: "Implementar sistema de rastreo de pedidos en la nube",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: null,
verdes: 1,
azules: 2,
rojos: null,
morados: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 55,
nombreProyecto: "Reorganización layout",
descripcion: "Reorganizar el layout para ganar productividad y minimizar accidentes de retrabajo",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: 3,
verdes: null,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 1P 2C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 56,
nombreProyecto: "Digitalizar procesos",
descripcion: "Digitalizar los procesos manuales del área de servicios",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: 3,
naranjas: null,
verdes: null,
azules: 2,
rojos: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
morados: null,
mantenimiento: "1T 2P 2C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 57,
nombreProyecto: "Sistema global de información",
descripcion: "Generar un sistema que englobe la información de todos los clientes para la toma de decisiones de Finanzas",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: null,
verdes: 3,
azules: 2,
rojos: null,
morados: 2,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 2P 1C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 58,
nombreProyecto: "Incidencia",
descripcion: "Transporte con papeles fuera de regla ¡ayúdeme a ayudarlo!",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Todos los departamentos"
},
{
id: 59,
nombreProyecto: "Incidencia",
descripcion: "Nuestro contenedor se hundió en el mar",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: null,
verdes: 1,
azules: 2,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Investigación y Desarrollo y Operaciones"
},
{
id: 60,
nombreProyecto: "Incidencia",
descripcion: "Accidentalmente se entregaron 50 cajas de calcetines sin par",
departamento: "LOGÍSTICA Y SISTEMAS",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: null,
verdes: null,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Logística y Sistemas"
},
{
id: 61,
nombreProyecto: "Rol de trabajo",
descripcion: "Hacer un rol de trabajo para garantizar el mantenimiento adecuado de las máquinas",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 1,
amarillo: 1,
naranjas: 1,
verdes: null,
azules: 1,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 62,
nombreProyecto: "Proceso de sanitización",
descripcion: "Establecer un proceso extra de sanitización de los productos antes de enviarse",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: null,
verdes: 1,
azules: 1,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 63,
nombreProyecto: "Estándares de calidad",
descripcion: "Cumplir con los nuevos estándares de calidad para la certificación",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 1,
amarillo: null,
naranjas: 1,
verdes: null,
azules: 1,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 1,
puntosPerdidos: 0,
deptoAfectado: null
},
{
id: 64,
nombreProyecto: "Centro de distribución",
descripcion: "Abrir nuevo centro de distribución",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 2,
amarillo: 1,
naranjas: 2,
verdes: null,
azules: 2,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 65,
nombreProyecto: "Alta demanda",
descripcion: "Sacar el doble de producción debido a la alta demanda por temporada",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: null,
verdes: 1,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 66,
nombreProyecto: "Software 3D",
descripcion: "Operar el nuevo software de impresión 3D",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 2,
amarillo: null,
naranjas: 2,
verdes: null,
azules: 2,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 1P 1C",
imagen: null,
puntosGanados: 2,
puntosPerdidos: 2,
deptoAfectado: null
},
{
id: 67,
nombreProyecto: "Planta industrial",
descripcion: "Construir la nueva planta industrial",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 3,
amarillo: 3,
naranjas: 2,
verdes: null,
azules: 2,
rojos: null,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 1P 2C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 68,
nombreProyecto: "Nuevo equipo",
descripcion: "Adaptar el nuevo equipo japonés a los estándares nacionales",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: null,
verdes: 3,
azules: 2,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "1T 2P 2C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 69,
nombreProyecto: "Turnos escalonados y home office",
descripcion: "Garantizar las entregas a tiempo con turnos escalonados y trabajadores en home office",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: 3,
amarillo: null,
naranjas: 2,
verdes: null,
azules: 2,
rojos: 3,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "2T 2P 1C",
imagen: null,
puntosGanados: 4,
puntosPerdidos: 6,
deptoAfectado: null
},
{
id: 70,
nombreProyecto: "Incidencia",
descripcion: "Desperfecto de la maquinaria: los robots se volvieron locos",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: 1,
naranjas: 1,
verdes: 1,
azules: 1,
rojos: 1,
morados: 1,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Todos los departamentos"
},
{
id: 71,
nombreProyecto: "Incidencia",
descripcion: "Todos se reportaron enfermos",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: 1,
verdes: null,
azules: 2,
rojos: 1,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Logística y Sistemas y Recursos Humanos"
},
{
id: 72,
nombreProyecto: "Incidencia",
descripcion: "Accidentalmente se entregaron 50 cajas de calcetines sin par",
departamento: "OPERACIONES",
estatus: "Pendiente",
dificultad: "Incidencia",
amarillo: null,
naranjas: null,
verdes: null,
azules: null,
rojos: 2,
morados: null,
activoAsignado1: 0,
activoAsignado2: 0,
activoAsignado3: 0,
mantenimiento: "N/A",
imagen: null,
puntosGanados: 0,
puntosPerdidos: 0,
deptoAfectado: "Operaciones"
}
];
/**
* Pone los datos del departamento seleccionado en el depto actual (grande).
*/
function llenaDepartamentoGde(depto) {
// console.log(depto);
// console.log($("#"+depto+" .deptoNombre").text());
// console.log($("#"+depto+" #activoCh1").text());
// console.log($("#"+depto+" #activoCh2").text());
// console.log($("#"+depto+" #tiempoCh").text());
// console.log($("#"+depto+" #personalCh").text());
// console.log($("#"+depto+" #capitalCh").text());
// console.log($("#"+depto+" #tiempoHA").text());
// console.log($("#"+depto+" #personalHA").text());
// console.log($("#"+depto+" #capitalHA").text());
// console.log("arr"+depto);
beneficioCapital = 0;
beneficioPersonal = 0;
beneficioTiempo = 0;
let elArreglo = arreglosDeptos["arr" + depto]
deptoActual = depto
activosDeptoActualPermitidos = [] //limpia el arreglo de activos permitidos
activosDeptoActualPermitidos.push(findArrayValue(elArreglo, "activo1Tipo"));
activosDeptoActualPermitidos.push(findArrayValue(elArreglo, "activo2Tipo"));
$("#deptoNombresGde").text("");
$("#nombreDeptoGde").attr("deptoactual", depto);
$("#nuevoNombreDeptoGde").html("<br><br>" + findArrayValue(elArreglo, "nombre"));
console.log("arreglo:", elArreglo);
// $("#nombreDeptoGde").text(findArrayValue(elArreglo, "nombre"));
$("#nombreDeptoGde").html("<span id='deptoNombresGde'></span>");
$("#deptoNombresGde").text(findArrayValue(elArreglo, "integrantes"));
$("#activoGde1").text(findArrayValue(elArreglo, "activo1")).removeAttr("class").addClass("draggable").addClass("act" + findArrayValue(elArreglo, "activo1Tipo"));
$("#activoGde2").text(findArrayValue(elArreglo, "activo2")).removeAttr("class").addClass("draggable").addClass("act" + findArrayValue(elArreglo, "activo2Tipo"));;
$("#recursoDispTiempoGde").text(findArrayValue(elArreglo, "recursoTiempo"));
$("#recursoDispPersonalGde").text(findArrayValue(elArreglo, "recursoPersonal"));
$("#recursoDispCapitalGde").text(findArrayValue(elArreglo, "recursoCapital"));
// $("#habilidadAcreditadaCantTiempoGde").text(findArrayValue(elArreglo, "habilidadTiempo"));
// $("#habilidadAcreditadaCantPersonalGde").text(findArrayValue(elArreglo, "habilidadPersonal"));
// $("#habilidadAcreditadaCantCapitalGde").text(findArrayValue(elArreglo, "habilidadCapital"));
$("#accionEspecialGde").text(findArrayValue(elArreglo, "accionEspecialQuincenal"));
$("#habilidadesAcreditadasGde1").text("");
$("#habilidadesAcreditadasGde2").text("");
$("#habilidadesAcreditadasGde3").text("");
let laHabilidad
if (findArrayValue(elArreglo, "habilidadPersonal") != 0) {
laHabilidad = findArrayValue(elArreglo, "habilidadPersonal")
let beneficio = findArrayValue(arreglosCapacitaciones[laHabilidad], "beneficio");
beneficioPersonal = beneficio;
let tipoRecurso = findArrayValue(arreglosCapacitaciones[laHabilidad], "tipoRecurso");
let tipo = findArrayValue(arreglosCapacitaciones[laHabilidad], "tipo");
if (tipo == "HH") {
tipo = "Habilidad Humana"
}
if (tipo == "HC") {
tipo = "Habilidad Conceptual"
}
if (tipo == "HT") {
tipo = "Habilidad Técnica"
}
// if (tipoRecurso == "Personal") {
// tipoRecurso = "<img src='img/personalCH.png' width='20px'>"
// }
// if (tipoRecurso == "Tiempo") {
// tipoRecurso = "<img src='img/tiempoCH.png' width='20px'>"
// }
// if (tipoRecurso == "Capital") {
// tipoRecurso = "<img src='img/capitalCH.png' width='20px'>"
// }
if ($("#habilidadesAcreditadasGde1").text() == "") {
$("#habilidadesAcreditadasGde1").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde2").text() == "") {
$("#habilidadesAcreditadasGde2").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde3").text() == "") {
$("#habilidadesAcreditadasGde3").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
}
};
if (findArrayValue(elArreglo, "habilidadTiempo") != 0) {
laHabilidad = findArrayValue(elArreglo, "habilidadTiempo")
let beneficio = findArrayValue(arreglosCapacitaciones[laHabilidad], "beneficio");
beneficioTiempo = beneficio;
let tipoRecurso = findArrayValue(arreglosCapacitaciones[laHabilidad], "tipoRecurso");
let tipo = findArrayValue(arreglosCapacitaciones[laHabilidad], "tipo");
if (tipo == "HH") {
tipo = "Habilidad Humana"
}
if (tipo == "HC") {
tipo = "Habilidad Conceptual"
}
if (tipo == "HT") {
tipo = "Habilidad Técnica"
}
if ($("#habilidadesAcreditadasGde1").text() == "") {
$("#habilidadesAcreditadasGde1").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde2").text() == "") {
$("#habilidadesAcreditadasGde2").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde3").text() == "") {
$("#habilidadesAcreditadasGde3").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
}
};
if (findArrayValue(elArreglo, "habilidadCapital") != 0) {
laHabilidad = findArrayValue(elArreglo, "habilidadCapital")
let beneficio = findArrayValue(arreglosCapacitaciones[laHabilidad], "beneficio");
beneficioCapital = beneficio;
let tipoRecurso = findArrayValue(arreglosCapacitaciones[laHabilidad], "tipoRecurso");
let tipo = findArrayValue(arreglosCapacitaciones[laHabilidad], "tipo");
if (tipo == "HH") {
tipo = "Habilidad Humana"
}
if (tipo == "HC") {
tipo = "Habilidad Conceptual"
}
if (tipo == "HT") {
tipo = "Habilidad Técnica"
}
if ($("#habilidadesAcreditadasGde1").text() == "") {
$("#habilidadesAcreditadasGde1").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde2").text() == "") {
$("#habilidadesAcreditadasGde2").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde3").text() == "") {
$("#habilidadesAcreditadasGde3").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[laHabilidad], "nombre") + " " + beneficio + tipoRecurso.charAt(0).toUpperCase());
}
};
console.log("BeneficioT:", beneficioTiempo, "BeneficioP:", beneficioPersonal, "BeneficioC:", beneficioCapital);
$("#imagenDeptoGde").attr("src", "img/" + findArrayValue(elArreglo, "imagen")); //imagenDepto
console.log(findArrayValue(elArreglo, "imagen"))
console.log("departamentoActual", deptoActual)
// $("#recursoDispTiempoGde").draggable("enable"); //para que se pueda arrastrar
// $("#recursoDispPersonalGde").draggable("enable");
// $("#recursoDispCapitalGde").draggable("enable");
}
/**
* Pone los datos del proyecto seleccionado en el proyecto actual (grande).
*/
function llenaProyectoGde(proyectoNum) {
proyectoNum = parseInt(proyectoNum) - 1; //para que coincida con el id del proyecto en el arreglo de proyectos
proyectoGdeActual = proyectoNum
proyectoActual = "proyecto_" + (proyectoNum)
console.log(proyectos[proyectoNum]);
console.log(proyectoActual)
console.log(proyectoNum, proyectos[proyectoNum].nombreProyecto)
$("#TablaProyectoGde").attr("num", proyectoNum);
$("#nombreProyectoGde").html(proyectos[proyectoNum].nombreProyecto + "<br><span class='dificultad" + proyectos[proyectoNum].dificultad + "'>" + proyectos[proyectoNum].departamento + "</span>");
$("#descripcionProyectoGde").html(proyectos[proyectoNum].descripcion);
let signoPuntosGanados = "+"
let signoPuntosPerdidos = "-"
if (proyectos[proyectoNum].puntosGanados == 0) {
signoPuntosGanados = ""
} else {
signoPuntosGanados = "+"
}
if (proyectos[proyectoNum].puntosPerdidos == 0) {
signoPuntosPerdidos = ""
} else {
signoPuntosPerdidos = "-"
}
$("#TablaProyectoGde #puntosGanados").html(signoPuntosGanados + proyectos[proyectoNum].puntosGanados);
$("#puntosPerdidos").html(signoPuntosPerdidos + proyectos[proyectoNum].puntosPerdidos);
const colores = ["amarillo", "naranjas", "verdes", "azules", "rojos", "morados"];
arrProyecto = proyectos[proyectoNum]
//proyectoActual = "proyecto_" + (proyectoNum + 1)
//const coloresNoNulos = colores.filter(color => arrProyecto[color] !== null);
const coloresConValores = colores
.filter(color => arrProyecto[color] !== null)
.map(color => ({
color,
valor: arrProyecto[color]
}));
$("#activoReqProyectoNom1").attr('class', '').text("");
$("#activoReqProyectoNom2").attr('class', '').text("");
$("#activoReqProyectoNom3").attr('class', '').text("");
$("#activoReqProyectoCantX1").text("0");
$("#activoReqProyectoCantX2").text("0");
$("#activoReqProyectoCantX3").text("0");
$("#activoReqProyectoCant1").attr('class', '');
$("#activoReqProyectoCant2").attr('class', '');
$("#activoReqProyectoCant3").attr('class', '');
for (let i = 0; i < coloresConValores.length; i++) {
let laClase
let elActivo
// console.log(`Color: ${coloresConValores[i].color}, Valor: ${coloresConValores[i].valor}`);
laClase = "actNinguno";
switch (coloresConValores[i].color) {
case 'amarillo':
laClase = 'actPersonalCalificado'
elActivo = "Personal Calificado"
break;
case 'naranjas':
laClase = 'actAnalistas'
elActivo = "Analistas"
break;
case 'verdes':
laClase = 'actFlujoDeEfectivo'
elActivo = "Flujo de Efectivo"
break;
case 'azules':
laClase = 'actTransporteYMaquinaria'
elActivo = "Transporte y Maquinaria"
break;
case 'rojos':
laClase = 'actTecnologia'
elActivo = "Tecnologia"
break;
case 'morados':
laClase = 'actCreditoEInversion'
elActivo = "Credito e Inversion"
break;
}
$("#activoReqProyectoCantX" + (i + 1)).text(coloresConValores[i].valor);
$("#activoReqProyectoNom" + (i + 1)).attr('class', '').text(elActivo).addClass(laClase)
$("#activoReqProyectoCant" + (i + 1)).attr('class', '').addClass(laClase)
$("#imagenProyectoGde").attr("src", "img/p" + (parseInt(proyectoNum) + 1) + ".jpg");
}
$("#activoReqProyectoCant1").text(proyectos[proyectoNum].activoAsignado1);
$("#activoReqProyectoCant2").text(proyectos[proyectoNum].activoAsignado2);
$("#activoReqProyectoCant3").text(proyectos[proyectoNum].activoAsignado3);
$("#mantoGde").text("MANTENIMIENTO " + proyectos[proyectoNum].mantenimiento);
}
/**
* Pone los datos del departamento seleccionado en el depto chico.
*/
function llenaDepartamentoChico(depto) {
// console.log(depto);
// console.log($("#"+depto+" .deptoNombre").text());
// console.log($("#"+depto+" #activoCh1").text());
// console.log($("#"+depto+" #activoCh2").text());
// console.log($("#"+depto+" #tiempoCh").text());
// console.log($("#"+depto+" #personalCh").text());
// console.log($("#"+depto+" #capitalCh").text());
// console.log($("#"+depto+" #tiempoHA").text());
// console.log($("#"+depto+" #personalHA").text());
// console.log($("#"+depto+" #capitalHA").text());
// console.log("arr"+depto);
let elArreglo = arreglosDeptos["arr" + depto]
deptoActual = depto
// console.log("arreglo:", elArreglo);
$("#" + deptoActual + " #nombreDeptoGde").attr("deptoactual", depto);
$("#" + deptoActual + " #nombreDeptoCh").text(findArrayValue(elArreglo, "nombre"));
// $("#deptoNombresGde").text(findArrayValue(elArreglo, "integrantes"));
$("#" + deptoActual + " #activoCh1").text(findArrayValue(elArreglo, "activo1"));
$("#" + deptoActual + " #activoCh2").text(findArrayValue(elArreglo, "activo2"));
$("#" + deptoActual + " #tiempoCh").text(findArrayValue(elArreglo, "recursoTiempo"));
$("#" + deptoActual + " #personalCh").text(findArrayValue(elArreglo, "recursoPersonal"));
$("#" + deptoActual + " #capitalCh").text(findArrayValue(elArreglo, "recursoCapital"));
$("#" + deptoActual + " #tiempoHA").text(findArrayValue(elArreglo, "habilidadTiempo"));
$("#" + deptoActual + " #personalHA").text(findArrayValue(elArreglo, "habilidadPersonal"));
$("#" + deptoActual + " #capitalHA").text(findArrayValue(elArreglo, "habilidadCapital"));
// $("#accionEspecialGde").text(findArrayValue(elArreglo, "accionEspecialQuincenal"));
}
function cuantaProyectosAsignados() {
let contador = 0
for (let i = 0; i < proyectos.length; i++) {
if (proyectos[i].estatus == "En proceso") {
contador++
}
}
}
function limpiaProyectoChico(elProyecto) {
console.log("Limpia proyecto chico", elProyecto);
// console.log($("#" + proyectoActual + " #activoReqProyectoNom1").text())
$("#" + elProyecto).removeAttr("elid");
$("#" + elProyecto).removeAttr("estatus");
$("#" + elProyecto).css("background-color", "");
$("#" + elProyecto + " .proyectoEncabezado").removeAttr("estatus");
$("#" + elProyecto + " #proyectoNombre").text("");
$("#" + elProyecto + " #proyectoDepto").text("");
$("#" + elProyecto + " #puntos").text("");
$("#" + elProyecto + " #proyectoDescripcion").text("");
$("#" + elProyecto + " #activoReq1").text("");
$("#" + elProyecto + " #activoReq2").text("");
$("#" + elProyecto + " #activoReq3").text("");
$("#" + elProyecto + " #recursosManto").text("");
$("#" + elProyecto + " #activoAsignado1").text("");
$("#" + elProyecto + " #activoAsignado2").text("");
$("#" + elProyecto + " #activoAsignado3").text("");
// Quitamos el texto de "En Proceso" del proyecto chico.
let tdEnProceso = $("#" + elProyecto).find('td:contains("En proceso")');
if (tdEnProceso.length > 0) {
let nuevoTexto = tdEnProceso.html().replace(/En proceso/g, ' ')
tdEnProceso.html(nuevoTexto);
}
}
function llenaProyectoChico(proyectoNum) {
console.log("Llenando proyectos! ", proyectoNum);
const colores = ["amarillo", "naranjas", "verdes", "azules", "rojos", "morados"];
arrProyecto = proyectos[proyectoNum]
console.log("Este ID:", arrProyecto.id, proyectos[proyectoNum].id, proyectos[proyectoNum].nombreProyecto);
ultimoProyectoLlenado++
proyectoActual = "proyecto_" + (ultimoProyectoLlenado)
$("#" + proyectoActual).attr("elid", arrProyecto.id - 1);
const coloresNoNulos = colores.filter(color => arrProyecto[color] !== null);
const coloresConValores = colores
.filter(color => arrProyecto[color] !== null)
.map(color => ({
color,
valor: arrProyecto[color]
}));
// console.log(coloresNoNulos)
// console.log(coloresConValores)
console.log(proyectoActual, proyectos[proyectoNum].nombreProyecto, proyectos[proyectoNum].dificultad)
let signoPuntosGanados = "+"
let signoPuntosPerdidos = "-"
if (proyectos[proyectoNum].puntosGanados == 0) {
signoPuntosGanados = ""
} else {
signoPuntosGanados = "+"
}
if (proyectos[proyectoNum].puntosPerdidos == 0) {
signoPuntosPerdidos = ""
} else {
signoPuntosPerdidos = "-"
}
const losPuntos = `${signoPuntosGanados}${proyectos[proyectoNum].puntosGanados} | ${signoPuntosPerdidos}${proyectos[proyectoNum].puntosPerdidos}`
$("#" + proyectoActual).attr("estatus", proyectos[proyectoNum].estatus);
$("#" + proyectoActual + " .proyectoEncabezado").attr("estatus", proyectos[proyectoNum].estatus);
if (proyectos[proyectoNum].estatus == "Completado") {
$("#" + proyectoActual).css("background-color", "lightgray");
}
$("#" + proyectoActual + " #proyectoNombre").text(proyectos[proyectoNum].nombreProyecto);
$("#" + proyectoActual + " #proyectoDepto").text(proyectos[proyectoNum].departamento).attr('class', 'dificultad' + proyectos[proyectoNum].dificultad);
$("#" + proyectoActual + " #proyectoDescripcion").text(proyectos[proyectoNum].descripcion);
$("#" + proyectoActual + " #recursosManto").text('MANTENIMIENTO ' + proyectos[proyectoNum].mantenimiento);
$("#" + proyectoActual + " #puntos").text(losPuntos);
$("#" + proyectoActual + " .proyectoEncabezado").attr('id', arrProyecto.id);
// console.log(coloresConValores);
$("#" + proyectoActual + " #activoReq1").attr('class', 'actNinguno').text("0");
$("#" + proyectoActual + " #activoReq2").attr('class', 'actNinguno').text("0");
$("#" + proyectoActual + " #activoReq3").attr('class', 'actNinguno').text("0");
for (let i = 0; i < coloresConValores.length; i++) {
// console.log(i, `Color: ${coloresConValores[i].color}, Valor: ${coloresConValores[i].valor}`);
switch (coloresConValores[i].color) {
case 'amarillo':
laClase = 'actPersonalCalificado'
break;
case 'naranjas':
laClase = 'actAnalistas'
break;
case 'verdes':
laClase = 'actFlujoDeEfectivo'
break;
case 'azules':
laClase = 'actTransporteYMaquinaria'
break;
case 'rojos':
laClase = 'actTecnologia'
break;
case 'morados':
laClase = 'actCreditoEInversion'
break;
}
$("#" + proyectoActual + " #activoReq" + (i + 1)).attr('class', '').text(coloresConValores[i].valor).addClass(laClase);
if (i == 0) {
activoAsignadoTmp = proyectos[proyectoNum].activoAsignado1
}
if (i == 1) {
activoAsignadoTmp = proyectos[proyectoNum].activoAsignado2
}
if (i == 2) {
activoAsignadoTmp = proyectos[proyectoNum].activoAsignado3
}
$("#" + proyectoActual + " #activoAsignado" + (i + 1)).attr('class', '').text(activoAsignadoTmp).addClass(laClase);
}
}
/**
* Pone los "siguientes" proyectos en el renglon de deptos chicos.
*/
function llenaSiguienteProyectoChico() {
proyectoNum = 0 // Pone los datos del primer proyecto siempre.
console.log("Llenando proyectos! ", proyectoNum);
const colores = ["amarillo", "naranjas", "verdes", "azules", "rojos", "morados"];
arrProyecto = siguientesProyectos[proyectoNum]
console.log("Este ID:", arrProyecto.id, siguientesProyectos[proyectoNum].id);
ultimoProyectoLlenado++
proyectoActual = "proyecto_" + (ultimoProyectoLlenado)
$("#" + proyectoActual).attr("elid", arrProyecto.id - 1);
const coloresNoNulos = colores.filter(color => arrProyecto[color] !== null);
const coloresConValores = colores
.filter(color => arrProyecto[color] !== null)
.map(color => ({
color,
valor: arrProyecto[color]
}));
// console.log(coloresNoNulos)
// console.log(coloresConValores)
console.log(proyectoActual, siguientesProyectos[proyectoNum].nombreProyecto, siguientesProyectos[proyectoNum].dificultad)
let signoPuntosGanados = "+"
let signoPuntosPerdidos = "-"
if (siguientesProyectos[proyectoNum].puntosGanados == 0) {
signoPuntosGanados = ""
} else {
signoPuntosGanados = "+"
}
if (siguientesProyectos[proyectoNum].puntosPerdidos == 0) {
signoPuntosPerdidos = ""
} else {
signoPuntosPerdidos = "-"
}
const losPuntos = `${signoPuntosGanados}${siguientesProyectos[proyectoNum].puntosGanados} | ${signoPuntosPerdidos}${siguientesProyectos[proyectoNum].puntosPerdidos}`
$("#" + proyectoActual + " #proyectoNombre").text(siguientesProyectos[proyectoNum].nombreProyecto);
$("#" + proyectoActual + " #proyectoDepto").text(siguientesProyectos[proyectoNum].departamento).attr('class', 'dificultad' + siguientesProyectos[proyectoNum].dificultad);
$("#" + proyectoActual + " #proyectoDescripcion").text(siguientesProyectos[proyectoNum].descripcion);
$("#" + proyectoActual + " #recursosManto").text('MANTENIMIENTO ' + siguientesProyectos[proyectoNum].mantenimiento);
$("#" + proyectoActual + " #puntos").text(losPuntos);
$("#" + proyectoActual + " .proyectoEncabezado").attr('id', arrProyecto.id);
$("#" + proyectoActual + " #activoReq1").attr('class', 'actNinguno').text("0");
$("#" + proyectoActual + " #activoReq2").attr('class', 'actNinguno').text("0");
$("#" + proyectoActual + " #activoReq3").attr('class', 'actNinguno').text("0");
// console.log(coloresConValores);
for (let i = 0; i < coloresConValores.length; i++) {
// console.log(i, `Color: ${coloresConValores[i].color}, Valor: ${coloresConValores[i].valor}`);
switch (coloresConValores[i].color) {
case 'amarillo':
laClase = 'actPersonalCalificado'
break;
case 'naranjas':
laClase = 'actAnalistas'
break;
case 'verdes':
laClase = 'actFlujoDeEfectivo'
break;
case 'azules':
laClase = 'actTransporteYMaquinaria'
break;
case 'rojos':
laClase = 'actTecnologia'
break;
case 'morados':
laClase = 'actCreditoEInversion'
break;
}
$("#" + proyectoActual + " #activoReq" + (i + 1)).attr('class', '').text(coloresConValores[i].valor).addClass(laClase);
if (i == 0) {
activoAsignadoTmp = siguientesProyectos[proyectoNum].activoAsignado1
}
if (i == 1) {
activoAsignadoTmp = siguientesProyectos[proyectoNum].activoAsignado2
}
if (i == 2) {
activoAsignadoTmp = siguientesProyectos[proyectoNum].activoAsignado3
}
$("#" + proyectoActual + " #activoAsignado" + (i + 1)).attr('class', '').text(activoAsignadoTmp).addClass(laClase);
}
// Qutamos el proyecto actual del arreglo siguientesProyectos.
siguientesProyectos.splice(0, 1);
const esteEnProyectos = proyectos.filter(proyecto => proyecto.id === arrProyecto.id);
// console.log("XXX", esteEnProyectos, arrProyecto.id)
esteEnProyectos.estatus = "En proceso";
// console.log("PROYECTOS PENDIENTES_1", siguientesProyectos.length);
// for (i = 0; i < siguientesProyectos.length; i++) {
// console.log(siguientesProyectos[i]['id'], siguientesProyectos[i]['nombreProyecto']);
// }
}
$('.departamentos').click(function() {
// console.log('id', this.id);
llenaDepartamentoGde(this.id);
})
$('#quitarProyectoCompleto').dialog({
autoOpen: false,
modal: true,
resizable: false,
width: 300,
height: 150,
closeOnEscape: false,
open: function(event, ui) {
$(".ui-dialog-titlebar-close").hide();
},
buttons: {
"Cancelar": function() {
console.log("Cancelar");
$(this).dialog("close");
},
"Quitar": function() {
console.log("Quitar proyecto completo:", proyectoAQuitar);
limpiaProyectoChico(proyectoAQuitar);
let pAbiertos = traeProyectosAbiertos();
for (let j = 1; j <= 7; j++) {
if ("proyecto_" + j != proyectoAQuitar) {
limpiaProyectoChico("proyecto_" + j);
}
}
// limpiaProyectoChico("proyecto_2");
// limpiaProyectoChico("proyecto_3");
// limpiaProyectoChico("proyecto_4");
// limpiaProyectoChico("proyecto_5");
// limpiaProyectoChico("proyecto_6");
// limpiaProyectoChico("proyecto_7");
ultimoProyectoLlenado = 0
// Usamos un bucle for para iterar sobre cada elemento del arreglo
for (let i = 0; i < pAbiertos.length; i++) {
llenaProyectoChico(parseInt(pAbiertos[i]));
}
$(this).dialog("close");
}
}
});
$('.proyectos').click(function() {
console.log('id:', $(this).attr("elid"));
console.log(proyectos[$(this).attr("elid")]);
console.log("Estatus:", $(this, ".proyectoEncabezado").attr('estatus'))
if ($(this, ".proyectoEncabezado").attr('estatus') != "Completado") {
console.log("NO COMPLTADO")
llenaProyectoGde(parseInt($(this).attr("elid")) + 1);
} else {
console.log("Proyecto ya completado")
proyectoAQuitar = this.id
console.log("Proyecto a quitar:", proyectoAQuitar);
$('#quitarProyectoCompleto').dialog("open");
}
traeProyectosAbiertos()
})
function traeProyectosAbiertos() {
// Selecciona el elemento con el ID "renglonProyectos"
var renglonProyectos = $('#renglonProyectos');
// Selecciona todos los elementos con la clase "proyectos" dentro de "renglonProyectos"
var proyectos = renglonProyectos.find('.proyectos');
proyectosAbiertos = [] // Limpia el arreglo de proyectos abiertos
// Itera sobre cada elemento con la clase "proyectos" y obtén el valor del atributo "elid"
proyectos.each(function() {
var elid = $(this).attr('elid');
console.log('elid:', elid);
if (elid !== null && elid !== undefined) {
proyectosAbiertos.push(elid);
}
});
console.log(proyectosAbiertos)
return proyectosAbiertos
}
$('#RGR').click(function() {
generarRecursos();
})
/**
* Encuentra el valor de un recurso en un arreglo
*/
function findArrayValue(arr, key) {
return arr.find(
recurso => recurso.name === key
)?.value;
}
/**
* Cambia el valor de un recurso en un arreglo
*/
function setArrayValue(arr, key, value) {
key = arr.find(item => item.name === key);
if (key) {
key.value = value; // Nuevo valor para habilidadTiempo
}
}
/**
* Encuentra el nombre de un recurso en un arreglo, teniendo el valor.
*/
function findArrayElementName(arr, value) {
for (const element of arr) {
if (element.value === value) {
return element.name;
}
}
return null; // Si no se encuentra el valor, devuelve null o un valor predeterminado
}
/**
* Genera 3 recursos aleatorios para asignar a un departamento.
*/
function generarRecursos() {
recPersonal = 0;
recTiempo = 0;
recCapital = 0;
let thisRand = getRandomIntInclusive(1, 90);
// console.log("Este rand - " + thisRand);
if (thisRand < 31) {
document.getElementById("recRand1").innerHTML = "<img src='img/personalCH.png' width='50'>";
recPersonal++
} // Si es del 1 al 30 ponemos "P"
else if (thisRand < 61) {
document.getElementById("recRand1").innerHTML = "<img src='img/tiempoCH.png' width='50'>";
recTiempo++
} // Si es del 31 al 60 ponemos "T"
else {
document.getElementById("recRand1").innerHTML = "<img src='img/capitalCH.png' width='50'>";
recCapital++
} // Ponemos "C"
thisRand = getRandomIntInclusive(1, 90);
if (thisRand < 31) {
document.getElementById("recRand2").innerHTML = "<img src='img/personalCH.png' width='50'>";
recPersonal++
} else if (thisRand < 61) {
document.getElementById("recRand2").innerHTML = "<img src='img/tiempoCH.png' width='50'>";
recTiempo++
} else {
document.getElementById("recRand2").innerHTML = "<img src='img/capitalCH.png' width='50'>";
recCapital++
}
thisRand = getRandomIntInclusive(1, 90);
if (thisRand < 31) {
document.getElementById("recRand3").innerHTML = "<img src='img/personalCH.png' width='50'>";
recPersonal++
} else if (thisRand < 61) {
document.getElementById("recRand3").innerHTML = "<img src='img/tiempoCH.png' width='50'>";
recTiempo++
} else {
document.getElementById("recRand3").innerHTML = "<img src='img/capitalCH.png' width='50'>";
recCapital++
}
// $("#asignarRecursos").removeAttr("disabled");
$("#asignarRecursos").button("enable")
// console.log("HABILITAMOS EL BOTON DE ASIGNAR RECURSOS")
// console.log("Personal: " + recPersonal + " Tiempo: " + recTiempo + " Capital: " + recCapital);
if (habilidadesAcreditadasActivas == true && habilidadAcreditadaEnEspera == "") {
// Filtrar las claves de los arreglos que contienen un elemento con 'departamentoAsignado' = ''
let filteredKeys = Object.keys(arreglosCapacitaciones).filter(key =>
arreglosCapacitaciones[key].some(item => item.name === 'departamentoAsignado' && item.value == '')
);
habilidadesAcreditadasDisponibles = parseInt(filteredKeys.length)
console.log("habilidades acreditadas disponibles: ", habilidadesAcreditadasDisponibles);
// Si no hay arreglos que cumplan con la condición, retornar null
if (filteredKeys.length === 0) {
return null;
}
// Obtener un índice aleatorio dentro del rango de las claves filtradas
let randomIndex = Math.floor(Math.random() * filteredKeys.length);
// Obtener el nombre del arreglo al azar
let randomKey = filteredKeys[randomIndex];
changeDepartamentoAsignado(arreglosCapacitaciones, randomKey, "En espera")
habilidadAcreditadaEnEspera = randomKey
$("#tablaHabilidadesAcreditadas").attr("actual", randomKey);
$("#haNombre").text(findArrayValue(arreglosCapacitaciones[randomKey], "nombre") + " (" + findArrayValue(arreglosCapacitaciones[randomKey], "tipoRecurso").charAt(0) + ")");
$("#haCosto").text(findArrayValue(arreglosCapacitaciones[randomKey], "costoTiempo") + "T + " + findArrayValue(arreglosCapacitaciones[randomKey], "costoPersonal") + "P + " + findArrayValue(arreglosCapacitaciones[randomKey], "costoCapital") + "C");
console.log(randomKey, arreglosCapacitaciones[randomKey]);
}
}
/**
* Asigna los recursos al departamento actual (Grande)
*/
$("#asignarRecursos").click(function() {
asignarRecursos();
// $("#asignarRecursos").attr("disabled", "disabled");
$("#asignarRecursos").button("disable")
document.getElementById("recRand1").innerHTML = "";
document.getElementById("recRand2").innerHTML = "";
document.getElementById("recRand3").innerHTML = "";
// console.log("DESHABILITAMOS EL BOTON DE ASIGNAR RECURSOS")
})
$("#accionGestionarProyecto").click(function() {
// for (i = 0; i < 7; i++) {
// if($("#proyecto_" + (i + 1) + " #proyectoNombre").text() == ""){
if (ultimoProyectoLlenado < 7) {
llenaSiguienteProyectoChico();
}
// break;
// }
// console.log($("#proyecto_" + (i + 1) + " #proyectoNombre").text());
// }
})
$("#accionComprarCapacitacion").click(function() {
confirm("¿Estás seguro de que quieres comprar la habilidad?", function(result) {
// if (result) {
// alert("You clicked OK!");
// } else {
// alert("You clicked Cancel!");
// }
// });
if (result) {
let tiempoRequerido = findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "costoTiempo");
let personalRequerido = findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "costoPersonal");
let capitalRequerido = findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "costoCapital");
let beneficio = findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "beneficio");
let tipoRecurso = findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "tipoRecurso");
let tipo = findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "tipo");
let tiempoActual = parseInt($("#" + deptoActual + " #tiempoCh").text());
let personalActual = parseInt($("#" + deptoActual + " #personalCh").text());
let capitalActual = parseInt($("#" + deptoActual + " #capitalCh").text());
// console.log("tiempoActual", tiempoActual, "personalActual", personalActual, "capitalActual", capitalActual);
console.log("beneficio", beneficio, "tipoRecurso", tipoRecurso);
console.log("habilidadTiempo", typeof findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadTiempo'));
console.log("habilidadPersonal", typeof findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadPersonal'));
console.log("habilidadCapital", typeof findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadCapital'));
if (tipoRecurso == "Capital") {
beneficioCapital = beneficio
} else if (tipoRecurso == "Tiempo") {
beneficioTiempo = beneficio
} else if (tipoRecurso == "Personal") {
beneficioPersonal = beneficio
}
console.log("BeneficioT:", beneficioTiempo, "BeneficioP:", beneficioPersonal, "BeneficioC:", beneficioCapital);
if (tiempoActual >= tiempoRequerido &&
personalActual >= personalRequerido &&
capitalActual >= capitalRequerido) {
if (tipoRecurso == "Tiempo" && typeof findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadTiempo') == "string") {
alert("Solo se puede comprar 1 habilidad de tiempo por departamento")
console.log("No se pueden comprar más capacitaciones, ya no hay espacio")
return;
}
if (tipoRecurso == "Personal" && typeof findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadPersonal') == "string") {
alert("Solo se puede comprar 1 habilidad de personal por departamento")
console.log("No se pueden comprar más capacitaciones, ya no hay espacio")
return;
}
if (tipoRecurso == "Capital" && typeof findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadCapital') == "string") {
alert("Solo se puede comprar 1 habilidad de capital por departamento")
console.log("No se pueden comprar más capacitaciones, ya no hay espacio")
return;
}
if (tipo == "HH") {
tipo = "Habilidad Humana"
}
if (tipo == "HC") {
tipo = "Habilidad Conceptual"
}
if (tipo == "HT") {
tipo = "Habilidad Técnica"
}
if ($("#habilidadesAcreditadasGde1").text() == "") {
$("#habilidadesAcreditadasGde1").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "nombre") + ", " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde2").text() == "") {
$("#habilidadesAcreditadasGde2").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "nombre") + ", " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else if ($("#habilidadesAcreditadasGde3").text() == "") {
$("#habilidadesAcreditadasGde3").html(tipo + "<br>" + findArrayValue(arreglosCapacitaciones[habilidadAcreditadaEnEspera], "nombre") + ", " + beneficio + tipoRecurso.charAt(0).toUpperCase());
} else {
alert("No se pueden comprar más capacitaciones, ya no hay espacio")
console.log("No se pueden comprar más capacitaciones, ya no hay espacio")
return;
}
// Modificamos los recursos del arreglo del departamento actual.
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoTiempo', tiempoActual - tiempoRequerido);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoPersonal', personalActual - personalRequerido);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoCapital', capitalActual - capitalRequerido);
if (tipoRecurso == "Tiempo") {
setArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadTiempo', habilidadAcreditadaEnEspera);
} else if (tipoRecurso == "Personal") {
setArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadPersonal', habilidadAcreditadaEnEspera);
} else if (tipoRecurso == "Capital") {
setArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadCapital', habilidadAcreditadaEnEspera);
}
console.log("Nuevos datos del arreglo", arreglosDeptos['arr' + deptoActual]);
console.log("habilidadTiempo", findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadTiempo'));
console.log("habilidadPersonal", findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadPersonal'));
console.log("habilidadCapital", findArrayValue(arreglosDeptos['arr' + deptoActual], 'habilidadCapital'));
// Modificamos los recursos del departamento actual (Grande)
$("#recursoDispTiempoGde").text(tiempoActual - tiempoRequerido);
$("#recursoDispPersonalGde").text(personalActual - personalRequerido);
$("#recursoDispCapitalGde").text(capitalActual - capitalRequerido);
// Modificamos los recursos del departamento actual (Chico)
$("#" + deptoActual + " #tiempoCh").text(tiempoActual - tiempoRequerido);
$("#" + deptoActual + " #personalCh").text(personalActual - personalRequerido);
$("#" + deptoActual + " #capitalCh").text(capitalActual - capitalRequerido);
$("#tablaHabilidadesAcreditadas").attr("actual", "");
if (habilidadesAcreditadasDisponibles > 0) {
habilidadesAcreditadasDisponibles--;
}
$("#haNombre").text("Disponibles: " + habilidadesAcreditadasDisponibles);
$("#haCosto").text("");
habilidadAcreditadaEnEspera = "";
} else {
console.log("No se puede comprar la capacitacion, no hay recursos suficientes")
alert("No se puede comprar la capacitacion, no hay recursos suficientes")
}
console.log("tiempoActual", tiempoActual, "personalActual", personalActual, "capitalActual", capitalActual);
console.log("tiempoRequerido", tiempoRequerido, "personalRequerido", personalRequerido, "capitalRequerido", capitalRequerido);
console.log("habilidadAcreditadaEnEspera = ", habilidadAcreditadaEnEspera);
} else { // Si contesta que no, no hace nada.
console.log("No se compró la habilidad");
return;
}
});
})
$('#habilidadesAcreditadas').change(function() {
if ($(this).is(':checked')) {
habilidadesAcreditadasActivas = true;
console.log('habilidadesAcreditadasActivas = true');
} else {
habilidadesAcreditadasActivas = false;
console.log('habilidadesAcreditadasActivas = false');
}
});
/**
* Asigna los recursos al departamento actual (Grande)
*/
function asignarRecursos() {
$("#recursoDispTiempoGde").text(parseInt($("#recursoDispTiempoGde").text()) + recTiempo)
$("#recursoDispPersonalGde").text(parseInt($("#recursoDispPersonalGde").text()) + recPersonal)
$("#recursoDispCapitalGde").text(parseInt($("#recursoDispCapitalGde").text()) + recCapital)
// Asignamos los recursos al departamento actual (Chico)
$("#" + deptoActual + " #tiempoCh").text(parseInt($("#recursoDispTiempoGde").text()));
$("#" + deptoActual + " #personalCh").text(parseInt($("#recursoDispPersonalGde").text()));
$("#" + deptoActual + " #capitalCh").text(parseInt($("#recursoDispCapitalGde").text()));
// Asignamos los recursos al departamento actual (Arreglo)
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoTiempo', parseInt($("#recursoDispTiempoGde").text()));
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoPersonal', parseInt($("#recursoDispPersonalGde").text()));
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoCapital', parseInt($("#recursoDispCapitalGde").text()));
console.log(arreglosDeptos['arr' + deptoActual]);
}
/**
* Asigna recursos al azar a los departamentos al inicio.
*/
function asignarRecursosInicial() {
// Asignamos los recursos al departamento actual (Arreglo)
setArrayValue(arreglosDeptos['arrRecursosHumanos'], 'recursoTiempo', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrRecursosHumanos'], 'recursoPersonal', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrRecursosHumanos'], 'recursoCapital', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrOperaciones'], 'recursoTiempo', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrOperaciones'], 'recursoPersonal', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrOperaciones'], 'recursoCapital', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrFinanzas'], 'recursoTiempo', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrFinanzas'], 'recursoPersonal', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrFinanzas'], 'recursoCapital', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrMarketingYVentas'], 'recursoTiempo', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrMarketingYVentas'], 'recursoPersonal', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrMarketingYVentas'], 'recursoCapital', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrInvestigacionYDesarrollo'], 'recursoTiempo', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrInvestigacionYDesarrollo'], 'recursoPersonal', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrInvestigacionYDesarrollo'], 'recursoCapital', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrLogisticaYSistemas'], 'recursoCapital', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrLogisticaYSistemas'], 'recursoTiempo', Math.floor(Math.random() * 2) + 1);
setArrayValue(arreglosDeptos['arrLogisticaYSistemas'], 'recursoPersonal', Math.floor(Math.random() * 2) + 1);
console.log(arreglosDeptos['arr' + deptoActual]);
}
// Función para cambiar el valor del elemento 'departamentoAsignado' en un arreglo específico
function changeDepartamentoAsignado(obj, arrayName, newValue) {
// Verificar si el arreglo existe en el objeto
if (obj.hasOwnProperty(arrayName)) {
// Buscar el elemento 'departamentoAsignado' en el arreglo
let array = obj[arrayName];
let departamentoAsignadoElement = array.find(item => item.name === 'departamentoAsignado');
// Si se encuentra el elemento, cambiar su valor
if (departamentoAsignadoElement) {
departamentoAsignadoElement.value = newValue;
} else {
console.log('El elemento "departamentoAsignado" no existe en el arreglo.');
}
} else {
console.log('El arreglo no existe en el objeto.');
}
}
/**
* Genera un numero radondom entre min y max
*/
function getRandomIntInclusive(min, max) {
const minCeiled = Math.ceil(min);
const maxFloored = Math.floor(max);
return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled); // The maximum is inclusive and the minimum is inclusive
}
$(".draggable").draggable({
start: function(event, ui) {
// Obtener y guardar la posición original al iniciar el arrastre
originalPosition = ui.position;
},
revert: "invalid" // Revierte si no se suelta en el área droppable
});
/**
* Mueve recursos del departamento grande a un departamento chico
*/
$(".droppableRecursos").droppable({
drop: function(event, ui) {
// Obtiene el texto del elemento draggable
var droppedText = ui.draggable.text();
var originalValue = parseInt(droppedText) || 0; // Convierte a número o usa 0 si no es un número
var newValue = originalValue - 1;
// Restaura la posición original del div del recurso
ui.draggable.css({
top: originalPosition.top,
left: originalPosition.left
})
console.log(ui.draggable.attr('id'))
if (ui.draggable.attr('id') == 'activoGde1' || ui.draggable.attr('id') == 'activoGde2') { // Si se estan arrastrando activos, no hacemos nada.
return;
}
if (originalValue == 0) { // Si el texto era 0, no se puede restar 1
return;
}
// Actualiza el texto del elemento original
ui.draggable.text(newValue);
//Si los recsursos llegan a 0 se desactiva el draggable
// if (newValue == 0) {
// ui.draggable.draggable("disable");;
// }
// console.log(ui.draggable.attr("id"));
// Restamos los recursos al departamento grande y los asignamos al departamento chico
var audio = new Audio('./Microwave_bell.wav');
audio.play();
if (ui.draggable.attr("id") == 'recursoDispTiempoGde') {
// console.log($(this).attr("id") , " #tiempoCh");
$("#" + $(this).attr("id") + " #tiempoCh").text(parseInt($("#" + $(this).attr("id") + " #tiempoCh").text()) + 1);
setArrayValue(arreglosDeptos['arr' + $(this).attr("id")], 'recursoTiempo', parseInt($("#" + $(this).attr("id") + " #tiempoCh").text()));
// console.log(arreglosDeptos['arr'+$(this).attr("id")]);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoTiempo', newValue); // Actualizamos el valor en el departamento chico
$("#" + deptoActual + " #tiempoCh").text(newValue);
// console.log(arreglosDeptos['arr'+deptoActual]);
} else if (ui.draggable.attr("id") == 'recursoDispPersonalGde') {
// console.log($(this).attr("id") , " #personalCh");
$("#" + $(this).attr("id") + " #personalCh").text(parseInt($("#" + $(this).attr("id") + " #personalCh").text()) + 1);
setArrayValue(arreglosDeptos['arr' + $(this).attr("id")], 'recursoPersonal', parseInt($("#" + $(this).attr("id") + " #personalCh").text()));
// console.log(arreglosDeptos['arr'+$(this).attr("id")]);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoPersonal', newValue); // Actualizamos el valor en el departamento chico
$("#" + deptoActual + " #personalCh").text(newValue);
// console.log(arreglosDeptos['arr'+deptoActual]);
} else if (ui.draggable.attr("id") == 'recursoDispCapitalGde') {
// console.log($(this).attr("id") , " #capitalCh");
$("#" + $(this).attr("id") + " #capitalCh").text(parseInt($("#" + $(this).attr("id") + " #capitalCh").text()) + 1);
setArrayValue(arreglosDeptos['arr' + $(this).attr("id")], 'recursoCapital', parseInt($("#" + $(this).attr("id") + " #capitalCh").text()));
// console.log(arreglosDeptos['arr'+$(this).attr("id")]);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoCapital', newValue);
$("#" + deptoActual + " #capitalCh").text(newValue); // Actualizamos el valor en el departamento chico
// console.log(arreglosDeptos['arr'+deptoActual]);
}
}
});
/**
* Mueve recursos del departamento grande a un departamento chico
*/
$(".droppableActivos").droppable({
drop: function(event, ui) {
// Obtiene el texto del elemento draggable
var droppedText = ui.draggable.text();
var originalValue = parseInt(droppedText) || 0; // Convierte a número o usa 0 si no es un número
var newValue = originalValue - 1;
// Restaura la posición original del div del recurso
ui.draggable.css({
top: originalPosition.top,
left: originalPosition.left
})
console.log(ui.draggable.attr('id'))
if (ui.draggable.attr('id') == "activoGde1") {
elActivoX = "activo1"
}
if (ui.draggable.attr('id') == "activoGde2") {
elActivoX = "activo2"
}
console.log("elActivoX:", elActivoX)
console.log("proyectoGdeActual:", proyectoGdeActual)
// console.log(ui.draggable.attr('class'))
// console.log(droppedText)
console.log("ValOriginal:", originalValue)
console.log("ValNuevo", newValue)
console.log("Drag Num:", ui.draggable.attr('num'))
var audio = new Audio('./Microwave_bell.wav');
audio.play();
if (originalValue > 0 && ui.draggable.hasClass('actPersonalCalificado') && $("#activosProyectoGde .actPersonalCalificado").attr("num") != null) {
const elActivoDelProyecto = $("#activosProyectoGde #activoReqProyectoCant" + $("#activosProyectoGde .actPersonalCalificado").attr("num"))
max = proyectos[proyectoGdeActual].amarillo
nuevoAsignado = parseInt(elActivoDelProyecto.text()) + 1
console.log("max:", max)
let elActNum = $("#activosProyectoGde .actPersonalCalificado").attr("num")
console.log("elActNum:", elActNum)
console.log("personal calificado")
if (nuevoAsignado <= max) {
console.log("Nuevo asignado", elActivoDelProyecto.text())
console.log($("#activosProyectoGde .actPersonalCalificado").attr("num"))
console.log("TEXTO:", elActivoDelProyecto.text())
console.log($("#activosProyectoGde #activoReqProyectoCant1").attr("id"))
elActivoDelProyecto.text(parseInt(elActivoDelProyecto.text()) + 1).text()
console.log(proyectos[proyectoGdeActual], 'activoAsignado' + elActNum, parseInt(elActivoDelProyecto.text()))
proyectos[proyectoGdeActual]['activoAsignado' + elActNum] = parseInt(elActivoDelProyecto.text());
console.log("Nuevo valor:", proyectos[proyectoGdeActual]['activoAsignado' + elActNum])
setArrayValue(arreglosDeptos['arr' + deptoActual], elActivoX, newValue); // Actualizamos el valor en el departamento chico
$("#" + ui.draggable.attr('id')).text(newValue);
console.log(arreglosDeptos['arr' + deptoActual]);
}
} else if (originalValue > 0 && ui.draggable.hasClass('actAnalistas') && $("#activosProyectoGde .actAnalistas").attr("num") != null) {
const elActivoDelProyecto = $("#activosProyectoGde #activoReqProyectoCant" + $("#activosProyectoGde .actAnalistas").attr("num"))
max = proyectos[proyectoGdeActual].naranjas
nuevoAsignado = parseInt(elActivoDelProyecto.text()) + 1
console.log("max:", max)
console.log("analistas")
if (nuevoAsignado <= max) {
console.log($("#activosProyectoGde .actAnalistas").attr("num"))
let elActNum = $("#activosProyectoGde .actAnalistas").attr("num")
console.log("elActNum:", elActNum)
console.log("personal calificado")
console.log("Nuevo asignado", parseInt(elActivoDelProyecto.text()) + 1)
console.log($("#activosProyectoGde .actAnalistas").attr("num"))
console.log("elActivoDelProyecto.text:", elActivoDelProyecto.text())
console.log($("#activosProyectoGde #activoReqProyectoCant1").attr("id"))
elActivoDelProyecto.text(parseInt(elActivoDelProyecto.text()) + 1).text()
console.log(proyectos[proyectoGdeActual], 'activoAsignado' + elActNum, parseInt(elActivoDelProyecto.text()))
proyectos[proyectoGdeActual]['activoAsignado' + elActNum] = parseInt(elActivoDelProyecto.text());
console.log("Nuevo valor:", proyectos[proyectoGdeActual]['activoAsignado' + elActNum])
setArrayValue(arreglosDeptos['arr' + deptoActual], elActivoX, newValue); // Actualizamos el valor en el departamento chico
$("#" + ui.draggable.attr('id')).text(newValue);
console.log(arreglosDeptos['arr' + deptoActual]);
}
} else if (originalValue > 0 && ui.draggable.hasClass('actFlujoDeEfectivo') && $("#activosProyectoGde .actFlujoDeEfectivo").attr("num") != null) {
const elActivoDelProyecto = $("#activosProyectoGde #activoReqProyectoCant" + $("#activosProyectoGde .actFlujoDeEfectivo").attr("num"))
max = proyectos[proyectoGdeActual].verdes
nuevoAsignado = parseInt(elActivoDelProyecto.text()) + 1
console.log("max:", max)
console.log("flujo efectivo")
if (nuevoAsignado <= max) {
let elActNum = $("#activosProyectoGde .actFlujoDeEfectivo").attr("num")
console.log("elActNum:", elActNum)
console.log("personal calificado")
console.log($("#activosProyectoGde .actFlujoDeEfectivo").attr("num"))
console.log("TEXTO:", elActivoDelProyecto.text())
console.log($("#activosProyectoGde #activoReqProyectoCant1").attr("id"))
elActivoDelProyecto.text(parseInt(elActivoDelProyecto.text()) + 1).text()
console.log(proyectos[proyectoGdeActual], 'activoAsignado' + elActNum, parseInt(elActivoDelProyecto.text()))
proyectos[proyectoGdeActual]['activoAsignado' + elActNum] = parseInt(elActivoDelProyecto.text());
console.log("Nuevo valor:", proyectos[proyectoGdeActual]['activoAsignado' + elActNum])
setArrayValue(arreglosDeptos['arr' + deptoActual], elActivoX, newValue); // Actualizamos el valor en el departamento chico
$("#" + ui.draggable.attr('id')).text(newValue);
console.log(arreglosDeptos['arr' + deptoActual]);
}
} else if (originalValue > 0 && ui.draggable.hasClass('actCreditoEInversion') && $("#activosProyectoGde .actCreditoEInversion").attr("num") != null) {
const elActivoDelProyecto = $("#activosProyectoGde #activoReqProyectoCant" + $("#activosProyectoGde .actCreditoEInversion").attr("num"))
max = proyectos[proyectoGdeActual].morados
nuevoAsignado = parseInt(elActivoDelProyecto.text()) + 1
console.log("max:", max)
console.log("credito inversion")
if (nuevoAsignado <= max) {
let elActNum = $("#activosProyectoGde .actCreditoEInversion").attr("num")
console.log("elActNum:", elActNum)
console.log("personal calificado")
console.log($("#activosProyectoGde .actCreditoEInversion").attr("num"))
console.log("TEXTO:", elActivoDelProyecto.text())
console.log($("#activosProyectoGde #activoReqProyectoCant1").attr("id"))
elActivoDelProyecto.text(parseInt(elActivoDelProyecto.text()) + 1).text()
console.log(proyectos[proyectoGdeActual], 'activoAsignado' + elActNum, parseInt(elActivoDelProyecto.text()))
proyectos[proyectoGdeActual]['activoAsignado' + elActNum] = parseInt(elActivoDelProyecto.text());
console.log("Nuevo valor:", proyectos[proyectoGdeActual]['activoAsignado' + elActNum])
setArrayValue(arreglosDeptos['arr' + deptoActual], elActivoX, newValue); // Actualizamos el valor en el departamento chico
$("#" + ui.draggable.attr('id')).text(newValue);
console.log(arreglosDeptos['arr' + deptoActual]);
}
} else if (originalValue > 0 && ui.draggable.hasClass('actTecnologia') && $("#activosProyectoGde .actTecnologia").attr("num") != null) {
const elActivoDelProyecto = $("#activosProyectoGde #activoReqProyectoCant" + $("#activosProyectoGde .actTecnologia").attr("num"))
max = proyectos[proyectoGdeActual].rojos
nuevoAsignado = parseInt(elActivoDelProyecto.text()) + 1
console.log("max:", max)
console.log("tecnologia")
if (nuevoAsignado <= max) {
let elActNum = $("#activosProyectoGde .actTecnologia").attr("num")
console.log("elActNum:", elActNum)
console.log("personal calificado")
console.log($("#activosProyectoGde .actTecnologia").attr("num"))
console.log("TEXTO:", elActivoDelProyecto.text())
console.log($("#activosProyectoGde #activoReqProyectoCant1").attr("id"))
elActivoDelProyecto.text(parseInt(elActivoDelProyecto.text()) + 1).text()
console.log(proyectos[proyectoGdeActual], 'activoAsignado' + elActNum, parseInt(elActivoDelProyecto.text()))
proyectos[proyectoGdeActual]['activoAsignado' + elActNum] = parseInt(elActivoDelProyecto.text());
console.log("Nuevo valor:", proyectos[proyectoGdeActual]['activoAsignado' + elActNum])
setArrayValue(arreglosDeptos['arr' + deptoActual], elActivoX, newValue); // Actualizamos el valor en el departamento chico
$("#" + ui.draggable.attr('id')).text(newValue);
console.log(arreglosDeptos['arr' + deptoActual]);
}
} else if (originalValue > 0 && ui.draggable.hasClass('actTransporteYMaquinaria') && $("#activosProyectoGde .actTransporteYMaquinaria").attr("num") != null) {
const elActivoDelProyecto = $("#activosProyectoGde #activoReqProyectoCant" + $("#activosProyectoGde .actTransporteYMaquinaria").attr("num"))
max = proyectos[proyectoGdeActual].azules
nuevoAsignado = parseInt(elActivoDelProyecto.text()) + 1
console.log("max:", max)
console.log("transporte maquinaria")
if (nuevoAsignado <= max) {
let elActNum = $("#activosProyectoGde .actTransporteYMaquinaria").attr("num")
console.log("elActNum:", elActNum)
console.log("personal calificado")
console.log($("#activosProyectoGde .actTransporteYMaquinaria").attr("num"))
console.log("TEXTO:", elActivoDelProyecto.text())
console.log($("#activosProyectoGde #activoReqProyectoCant1").attr("id"))
elActivoDelProyecto.text(parseInt(elActivoDelProyecto.text()) + 1).text()
console.log(proyectos[proyectoGdeActual], 'activoAsignado' + elActNum, parseInt(elActivoDelProyecto.text()))
proyectos[proyectoGdeActual]['activoAsignado' + elActNum] = parseInt(elActivoDelProyecto.text());
console.log("Nuevo valor:", proyectos[proyectoGdeActual]['activoAsignado' + elActNum])
setArrayValue(arreglosDeptos['arr' + deptoActual], elActivoX, newValue); // Actualizamos el valor en el departamento chico
$("#" + ui.draggable.attr('id')).text(newValue);
console.log(arreglosDeptos['arr' + deptoActual]);
}
}
}
})
function obtenerProyectosPendientesXX(cuantos) {
// Filtrar proyectos pendientes
const proyectosPendientes = proyectos.filter(proyecto => proyecto.estatus === "Pendiente");
// const proyectosPendientes = proyectos.filter(proyecto =>
// proyecto.estatus === "Pendiente" && proyecto.dificultad !== "Incidencia"
// );
// Si hay menos de 10 proyectos pendientes, retornar todos los disponibles
if (proyectosPendientes.length <= cuantos) {
return proyectosPendientes;
}
// Seleccionar 10 proyectos aleatorios
const resultado = [];
const proyectosDisponibles = [...proyectosPendientes];
for (let i = 0; i < cuantos && proyectosDisponibles.length > 0; i++) {
const randomIndex = Math.floor(Math.random() * proyectosDisponibles.length);
resultado.push(proyectosDisponibles[randomIndex]);
proyectosDisponibles.splice(randomIndex, 1);
}
return resultado;
}
/**
* Pone en el arreglo proyectosPendientes, 7 proyectos al azar de los que están pendientes en el arreglo general.
*/
function obtenerProyectosPendientes() {
// Filtrar proyectos pendientes y que no tengan dificultad "Incidencia"
const proyectosPendientes = proyectos.filter(proyecto =>
proyecto.estatus === "Pendiente" // && proyecto.dificultad !== "Incidencia"
);
// Seleccionar proyectos aleatorios y completar el arreglo hasta que tenga 7 elementos
const proyectosDisponibles = [...proyectosPendientes];
while (siguientesProyectos.length < 7 && proyectosDisponibles.length > 0) {
const randomIndex = Math.floor(Math.random() * proyectosDisponibles.length);
const esteEnProyectos = proyectos.filter(proyecto => proyecto.id == proyectosDisponibles[randomIndex].id); // Traemos el proyecto del arreglo "proyectos" que corresponde al proyecto que vamos a agregar a siguientesProyectos.
esteEnProyectos[0].estatus = "En siguientes"; // Cambiamos el estatus del proyecto en "proyectos" para ya no volverlo a poner despues.
siguientesProyectos.push(proyectosDisponibles[randomIndex]);
proyectosDisponibles.splice(randomIndex, 1);
}
}
function llenaActivos(activo) {
let x = "arr" + activo;
let elArreglo = arreglosActivos[x];
$("#activos" + activo).text(findArrayValue(elArreglo, "produccionTiempo") + "T + " + findArrayValue(elArreglo, "produccionPersonal") + "P + " + findArrayValue(elArreglo, "produccionCapital") + "C");
if (findArrayValue(elArreglo, "recuperacionTiempo") == 0) {
$("#recuperacion" + activo).text(findArrayValue(elArreglo, "recuperacionPersonal") + "P + " + findArrayValue(elArreglo, "recuperacionCapital") + "C");
} else if (findArrayValue(elArreglo, "recuperacionPersonal") == 0) {
$("#recuperacion" + activo).text(findArrayValue(elArreglo, "recuperacionTiempo") + "T + " + findArrayValue(elArreglo, "recuperacionCapital") + "C");
} else if (findArrayValue(elArreglo, "recuperacionCapital") == 0) {
$("#recuperacion" + activo).text(findArrayValue(elArreglo, "recuperacionTiempo") + "T + " + findArrayValue(elArreglo, "recuperacionPersonal") + "P");
}
}
llenaActivos("PersonalCalificado");
llenaActivos("FlujoDeEfectivo");
llenaActivos("Analistas");
llenaActivos("CreditoEInversion");
llenaActivos("Tecnologia");
llenaActivos("TransporteYMaquinaria");
/**
* Genera activos para el "proyecto actual", utilizando recursos del "departamento actual",
* esto siempre y cuando el departamento actual tenga los recursos disponibles y pueda generar el tipo de
* activos requeridos.
*/
$('[id^="activoReqProyectoNom"]').click(function() {
// Obtener el número del ID del elemento clickeado
let idNumber = this.id.replace('activoReqProyectoNom', '');
// Obtener los valores de los elementos "td"
let cantRequerida = $('#activoReqProyectoCantX' + idNumber).text();
let cantidadActual = $('#activoReqProyectoCant' + idNumber).text();
// Obtener la clase del elemento en el que se hizo clic
let activoAUsar = $(this).attr('class');
activoAUsar = activoAUsar.substring(3);
let x = "arr" + activoAUsar;
let elArreglo = arreglosActivos[x];
// Obtener los valores del arreglo "arreglosActivos"
let produccionTiempo = findArrayValue(elArreglo, 'produccionTiempo');
produccionTiempo = parseInt(produccionTiempo) + beneficioTiempo;
let produccionPersonal = findArrayValue(elArreglo, 'produccionPersonal');
produccionPersonal = parseInt(produccionPersonal) + beneficioPersonal;
let produccionCapital = findArrayValue(elArreglo, 'produccionCapital');
produccionCapital = parseInt(produccionCapital) + beneficioCapital;
let y = "arr" + deptoActual;
let elArregloDepto = arreglosDeptos[y];
let recursoTiempo = findArrayValue(elArregloDepto, 'recursoTiempo');
let recursoPersonal = findArrayValue(elArregloDepto, 'recursoPersonal');
let recursoCapital = findArrayValue(elArregloDepto, 'recursoCapital');
console.log("beneficioT", beneficioTiempo, "beneficioP", beneficioPersonal, "beneficioC", beneficioCapital);
console.log(produccionTiempo, produccionPersonal, produccionCapital);
// Si el activo seleccionado forma parte de los activos permitidos para el departamento actual,
// y si las cantidades requeridas son mayores a las cantidades actuales,
// y si el departamento actual tiene los recursos necesarios.
if (activosDeptoActualPermitidos.includes(activoAUsar) &&
cantRequerida > cantidadActual &&
recursoTiempo - produccionTiempo >= 0 &&
recursoPersonal - produccionPersonal >= 0 &&
recursoCapital - produccionCapital >= 0) {
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoTiempo', recursoTiempo - produccionTiempo);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoPersonal', recursoPersonal - produccionPersonal);
setArrayValue(arreglosDeptos['arr' + deptoActual], 'recursoCapital', recursoCapital - produccionCapital);
// Ponemos el nuevo valor del recurso en el departamento grande.
$("#recursoDispTiempoGde").text(recursoTiempo - produccionTiempo)
$("#recursoDispPersonalGde").text(recursoPersonal - produccionPersonal)
$("#recursoDispCapitalGde").text(recursoCapital - produccionCapital)
// Ponemos el nuevo valor del recurso en el departamento chico.
$("#" + deptoActual + " #tiempoCh").text(findArrayValue(elArregloDepto, 'recursoTiempo'));
$("#" + deptoActual + " #personalCh").text(findArrayValue(elArregloDepto, 'recursoPersonal'));
$("#" + deptoActual + " #capitalCh").text(findArrayValue(elArregloDepto, 'recursoCapital'));
let z = "activoAsignado" + idNumber;
proyectos[proyectoGdeActual][z] = parseInt(proyectos[proyectoGdeActual][z]) + 1;
// Ponemos el nuevo valor del activo en el proyecto grande
$("#activoReqProyectoCant1").text(proyectos[proyectoGdeActual].activoAsignado1);
$("#activoReqProyectoCant2").text(proyectos[proyectoGdeActual].activoAsignado2);
$("#activoReqProyectoCant3").text(proyectos[proyectoGdeActual].activoAsignado3);
// Ponemos el nuevo valor del activo en el proyecto chico
$("[elid='" + proyectoGdeActual + "'] #activoAsignado1").text(proyectos[proyectoGdeActual].activoAsignado1);
$("[elid='" + proyectoGdeActual + "'] #activoAsignado2").text(proyectos[proyectoGdeActual].activoAsignado2);
$("[elid='" + proyectoGdeActual + "'] #activoAsignado3").text(proyectos[proyectoGdeActual].activoAsignado3);
// Si ya se completaron los activos del proyecto actual, cambiamos el estatus a "Completado"
if (parseInt($("#activoReqProyectoCantX1").text()) == parseInt(proyectos[proyectoGdeActual].activoAsignado1) &&
parseInt($("#activoReqProyectoCantX2").text()) == parseInt(proyectos[proyectoGdeActual].activoAsignado2) &&
parseInt($("#activoReqProyectoCantX3").text()) == parseInt(proyectos[proyectoGdeActual].activoAsignado3)) {
console.log("Ya se llenaron todos los activos del proyecto actual")
// Cambiamos el estatus del proyecto grande a "Completado"
proyectos[proyectoGdeActual].estatus = "Completado";
console.log(proyectos[proyectoGdeActual])
$("[elid='" + proyectoGdeActual + "']").css("background-color", "lightgray");
$("[elid='" + proyectoGdeActual + "'] .proyectoEncabezado").attr("estatus", "Completado");
$("[elid='" + proyectoGdeActual + "']").attr("estatus", "Completado");
} else {
console.log("No se han llenado todos los activos del proyecto chico")
console.log(parseInt($("#activoReqProyectoCantX1").text()), parseInt(proyectos[proyectoGdeActual].activoAsignado1))
console.log(parseInt($("#activoReqProyectoCantX2").text()), parseInt(proyectos[proyectoGdeActual].activoAsignado2))
console.log(parseInt($("#activoReqProyectoCantX3").text()), parseInt(proyectos[proyectoGdeActual].activoAsignado3))
}
var audio = new Audio('./Microwave_bell.wav');
audio.play();
console.log("DeptoActual:", deptoActual)
}
// console.log("deptoActual:", deptoActual)
// console.log('ID:', idNumber);
// console.log('Cantidad Requerida:', cantRequerida);
// console.log('Cantidad Actual:', cantidadActual);
// console.log('Activo a Usar:', activoAUsar);
// console.log('Producción Tiempo:', produccionTiempo);
// console.log('Producción Personal:', produccionPersonal);
// console.log('Producción Capital:', produccionCapital);
// console.log('Recurso Tiempo:', recursoTiempo);
// console.log('Recurso Personal:', recursoPersonal);
// console.log('Recurso Capital:', recursoCapital);
// console.log("Nuevo recurso tiempo:", findArrayValue(elArregloDepto, 'recursoTiempo'));
// console.log("Nuevo recurso personal:", findArrayValue(elArregloDepto, 'recursoPersonal'));
// console.log("Nuevo recurso capital:", findArrayValue(elArregloDepto, 'recursoCapital'));
// console.log("Activos Asignados del Proyecto:", proyectos[proyectoGdeActual].activoAsignado1, proyectos[proyectoGdeActual].activoAsignado2, proyectos[proyectoGdeActual].activoAsignado3)
});
$(function() {
$("input").checkboxradio();
});
// Llenado de los departamentos chicos
asignarRecursosInicial();
llenaDepartamentoChico('RecursosHumanos');
llenaDepartamentoChico('MarketingYVentas');
llenaDepartamentoChico('Finanzas');
llenaDepartamentoChico('InvestigacionYDesarrollo');
llenaDepartamentoChico('LogisticaYSistemas');
llenaDepartamentoChico('Operaciones');
// Llenado del departamento grande
llenaDepartamentoGde('RecursosHumanos');
//Llenado de proyectos chicos
obtenerProyectosPendientes();
// console.log("PROYECTOS SIGUIENTES 111", siguientesProyectos.length);
// for (i = 0; i < siguientesProyectos.length; i++) {
// console.log(siguientesProyectos[i]['id'], siguientesProyectos[i]['nombreProyecto']);
// }
// Loop sobre los proyectos pendientes para llenar los departamentos chicos.
for (ix = 0; ix < 4; ix++) {
console.log("Llenando proyecto chico", ix);
llenaSiguienteProyectoChico();
}
// Volvemos a llenar el arreglo "siguientesProyectos" para que tenga 5 proyectos pendientes.
obtenerProyectosPendientes();
console.log("PROYECTOS SIGUIENTES", siguientesProyectos.length);
for (i = 0; i < siguientesProyectos.length; i++) {
// console.log(siguientesProyectos[i]['id'], siguientesProyectos[i]['nombreProyecto'], siguientesProyectos[i]['estatus']);
}
//Llena el proyecto grande
console.log("PROYECTO GDE ACTUAL:", proyectoGdeActual)
console.log($("#proyecto_1 .proyectoEncabezado").attr("id"))
llenaProyectoGde(parseInt($("#proyecto_1 .proyectoEncabezado").attr("id")));
console.log("departamentoActual", deptoActual)
console.log("proyectoActual", proyectoActual)
// limpiaProyectoChico(3);
document.addEventListener('DOMContentLoaded', function() {
const bMenos = document.getElementById('bMenos');
const bMas = document.getElementById('bMas');
const etQuincena = document.getElementById('etQuincena');
const tds = [document.getElementById('T1'), document.getElementById('T2'), document.getElementById('T3'), document.getElementById('T4')];
function updateColors() {
const value = parseInt(etQuincena.value);
tds.forEach((td, index) => {
if (value >= (index * 6) + 1) {
td.style.backgroundColor = '#068bc3';
td.style.color = 'white';
} else {
td.style.backgroundColor = 'white';
td.style.color = 'black';
}
});
}
bMenos.addEventListener('click', function() {
let value = parseInt(etQuincena.value);
if (value > 1) {
etQuincena.value = value - 1;
updateColors();
}
});
bMas.addEventListener('click', function() {
let value = parseInt(etQuincena.value);
if (value < 24) {
etQuincena.value = value + 1;
updateColors();
}
});
// Initial color update
updateColors();
});
let timer;
let timeLeft = 60; // 1 minuto en segundos
let isPaused = false;
let isRunning = false;
function relojToggleTimer() {
const button = document.getElementById('relojStartPauseButton');
if (isRunning) {
relojPauseTimer();
button.textContent = 'Iniciar';
} else {
relojStartTimer();
button.textContent = 'Pausar';
}
isRunning = !isRunning;
}
function relojStartTimer() {
clearInterval(timer);
timeLeft = document.getElementById('timeRange').value * 60;
relojUpdateDisplay();
timer = setInterval(relojUpdateTimer, 1000);
isPaused = false;
}
function relojUpdateTimer() {
if (timeLeft <= 0) {
clearInterval(timer);
relojPlaySound();
document.getElementById('relojStartPauseButton').textContent = 'Iniciar';
isRunning = false;
} else {
timeLeft--;
relojUpdateDisplay();
}
}
function relojUpdateDisplay() {
const minutes = Math.floor(timeLeft / 60);
const seconds = timeLeft % 60;
document.getElementById('time').textContent = `${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
}
function relojUpdateTime() {
clearInterval(timer);
timeLeft = document.getElementById('timeRange').value * 60;
relojUpdateDisplay();
}
function relojPlaySound() {
const audio = new Audio('Microwave_bell.wav');
if ($("#bAccion2").css("background-color") === "rgb(6, 139, 195)") {
$("#bAccion1").css("background-color", "");
$("#bAccion1").css("color", "black");
$("#bAccion2").css("background-color", "");
$("#bAccion2").css("color", "black");
}
audio.play();
}
function relojPauseTimer() {
if (!isPaused) {
clearInterval(timer);
isPaused = true;
}
}
function relojResumeTimer() {
if (isPaused) {
timer = setInterval(relojUpdateTimer, 1000);
isPaused = false;
document.getElementById('relojStartPauseButton').textContent = 'Pausar';
isRunning = true;
}
}
function toggleColor(button) {
console.log(button.style.backgroundColor)
if (button.style.backgroundColor === 'rgb(6, 139, 195)') {
button.style.backgroundColor = ''; // Restablecer al color original
button.style.color = 'black'; // Cambiar el texto a negro
} else {
button.style.backgroundColor = '#068bc3'; // Cambiar a azul
button.style.color = 'white'; // Cambiar el texto a blanco
}
}
$(function() {
// Sobrescribir la función alert
window.alert = function(message) {
$("<div></div>").html(message).dialog({
modal: true,
title: "Alert",
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
});
};
// Ejemplo de uso
// $("#showAlert").click(function() {
// alert("This is a custom alert using jQuery UI!");
// });
});
// Sobrescribir la función confirm
window.confirm = function(message, callback) {
$("<div></div>").html(message).dialog({
modal: true,
title: "Confirm",
buttons: {
Ok: function() {
$(this).dialog("close");
console.log("Confirmed");
if (callback) callback(true);
},
Cancel: function() {
$(this).dialog("close");
console.log("Cancelled");
if (callback) callback(false);
}
}
});
};
</script>
</body>
</html>
</body>