174 lines
4.8 KiB
PHP
174 lines
4.8 KiB
PHP
|
|
||
|
<!DOCTYPE HTML>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<title>Highcharts Gantt Example</title>
|
||
|
|
||
|
<style type="text/css">
|
||
|
#container {
|
||
|
max-width: 800px;
|
||
|
margin: 1em auto;
|
||
|
}
|
||
|
|
||
|
</style>
|
||
|
</head>
|
||
|
<body>
|
||
|
<script src="./librerias/gantt/code/highcharts-gantt.js"></script>
|
||
|
<script src="./librerias/gantt/code/modules/exporting.js"></script>
|
||
|
|
||
|
<div id="container"></div>
|
||
|
|
||
|
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
var today = new Date(),
|
||
|
day = 1000 * 60 * 60 * 24,
|
||
|
// Utility functions
|
||
|
dateFormat = Highcharts.dateFormat,
|
||
|
defined = Highcharts.defined,
|
||
|
isObject = Highcharts.isObject,
|
||
|
reduce = Highcharts.reduce;
|
||
|
|
||
|
|
||
|
Highcharts.ganttChart('container', {
|
||
|
series: [{
|
||
|
name: 'Offices',
|
||
|
data: [
|
||
|
{
|
||
|
"id": "8e647b88953955a0526144a01296188c",
|
||
|
"name": "Proyectos"
|
||
|
},
|
||
|
{
|
||
|
"id": "aa228450be56fb1943f2eb40bb687d98",
|
||
|
"name": "Kepe",
|
||
|
"start": 1588309200,
|
||
|
"end": 1593493200,
|
||
|
"restante": "38 d\u00edas, 4 horas, 25 minutos, 27 segundos",
|
||
|
"parent": "8e647b88953955a0526144a01296188c",
|
||
|
"parent_nombre": "Proyectos"
|
||
|
},
|
||
|
{
|
||
|
"id": "a9881b5e7c205f3e5dbba8ba6a40ed19",
|
||
|
"name": "Recolección de requerimientos",
|
||
|
"start": 1590123600,
|
||
|
"end": 1590901200,
|
||
|
"restante": "8 d\u00edas, 4 horas, 25 minutos, 27 segundos",
|
||
|
"parent": "aa228450be56fb1943f2eb40bb687d98",
|
||
|
"parent_nombre": "Kepe"
|
||
|
},
|
||
|
{
|
||
|
"id": "22b3e978f3d4d4cc89e9f0cb195a144d",
|
||
|
"name": "Montaje de servicios"
|
||
|
},
|
||
|
{
|
||
|
"id": "4fbde6339780a402349ddc0d307c7b86",
|
||
|
"name": "Gestor de usuarios y tareas",
|
||
|
"start": 1590937800,
|
||
|
"end": null,
|
||
|
"restante": "-1590194073 segundos",
|
||
|
"parent": "22b3e978f3d4d4cc89e9f0cb195a144d",
|
||
|
"parent_nombre": "Montaje de servicios"
|
||
|
},
|
||
|
{
|
||
|
"id": "03fe81aa14f23f47b952b6f1d36637b5",
|
||
|
"name": "Otra tarea",
|
||
|
"start": 1590037200,
|
||
|
"end": 1590642000,
|
||
|
"restante": "5 d\u00edas, 4 horas, 25 minutos, 27 segundos",
|
||
|
"parent": "4fbde6339780a402349ddc0d307c7b86",
|
||
|
"parent_nombre": "Gestor de usuarios y tareas"
|
||
|
},
|
||
|
{
|
||
|
"id": "8ae8e207a2a997ed7ec93d3457f6f32e",
|
||
|
"name": "Socialización con los coordinadores",
|
||
|
"start": 1588309200,
|
||
|
"end": 1590901200,
|
||
|
"restante": "8 d\u00edas, 4 horas, 25 minutos, 27 segundos",
|
||
|
"parent": "4fbde6339780a402349ddc0d307c7b86",
|
||
|
"parent_nombre": "Gestor de usuarios y tareas"
|
||
|
},
|
||
|
{
|
||
|
"id": "1b068f6ce2f85897a2f163e1fd1078bc",
|
||
|
"name": "Coordinación y administración"
|
||
|
},
|
||
|
{
|
||
|
"id": "b5281d5b30cb046b081a039f7e383d6d",
|
||
|
"name": "Convenio universidad del Quindio",
|
||
|
"start": 1588309200,
|
||
|
"end": 1590901200,
|
||
|
"restante": "8 d\u00edas, 4 horas, 25 minutos, 27 segundos",
|
||
|
"parent": "1b068f6ce2f85897a2f163e1fd1078bc",
|
||
|
"parent_nombre": "Coordinación y administración"
|
||
|
},
|
||
|
{
|
||
|
"id": "cf499f210d28afdb86c4e83456fbf605",
|
||
|
"name": "buscar contacto",
|
||
|
"start": 1590123600,
|
||
|
"end": 1590728400,
|
||
|
"restante": "6 d\u00edas, 4 horas, 25 minutos, 27 segundos",
|
||
|
"parent": "b5281d5b30cb046b081a039f7e383d6d",
|
||
|
"parent_nombre": "Convenio universidad del Quindio"
|
||
|
}
|
||
|
]
|
||
|
}],
|
||
|
tooltip: {
|
||
|
pointFormatter: function () {
|
||
|
var point = this,
|
||
|
format = '%e. %b',
|
||
|
options = point.options,
|
||
|
completed = options.completed,
|
||
|
amount = isObject(completed) ? completed.amount : completed,
|
||
|
status = ((amount || 0) * 100) + '%',
|
||
|
lines;
|
||
|
|
||
|
lines = [{
|
||
|
value: point.name,
|
||
|
style: 'font-weight: bold;'
|
||
|
}, {
|
||
|
title: 'Start',
|
||
|
value: dateFormat(format, point.start)
|
||
|
}, {
|
||
|
visible: !options.milestone,
|
||
|
title: 'End',
|
||
|
value: dateFormat(format, point.end)
|
||
|
}, {
|
||
|
title: 'Completed',
|
||
|
value: status
|
||
|
}, {
|
||
|
title: 'Owner',
|
||
|
value: options.owner || 'unassigned'
|
||
|
}];
|
||
|
|
||
|
return reduce(lines, function (str, line) {
|
||
|
var s = '',
|
||
|
style = (
|
||
|
defined(line.style) ? line.style : 'font-size: 0.8em;'
|
||
|
);
|
||
|
if (line.visible !== false) {
|
||
|
s = (
|
||
|
'<span style="' + style + '">' +
|
||
|
(defined(line.title) ? line.title + ': ' : '') +
|
||
|
(defined(line.value) ? line.value : '') +
|
||
|
'</span><br/>'
|
||
|
);
|
||
|
}
|
||
|
return str + s;
|
||
|
}, '');
|
||
|
}
|
||
|
},
|
||
|
title: {
|
||
|
text: ''
|
||
|
},
|
||
|
xAxis: {
|
||
|
currentDateIndicator: true,
|
||
|
min: today - 3 * day,
|
||
|
max: today + 18 * day
|
||
|
}
|
||
|
});
|
||
|
|
||
|
</script>
|
||
|
</body>
|
||
|
</html>
|