|
|
@ -177,6 +177,8 @@ const editor = { |
|
|
|
planned_start: { type: "date", map_to: "planned_start", min: new Date(2018, 0, 1) }, |
|
|
|
planned_start: { type: "date", map_to: "planned_start", min: new Date(2018, 0, 1) }, |
|
|
|
planned_end: { type: "end_date", map_to: "planned_end", min: new Date(2018, 0, 1) }, |
|
|
|
planned_end: { type: "end_date", map_to: "planned_end", min: new Date(2018, 0, 1) }, |
|
|
|
planned_duration: { type: "duration", map_to: "planned_duration", min: 0, max: 365, formatter: formatter }, |
|
|
|
planned_duration: { type: "duration", map_to: "planned_duration", min: 0, max: 365, formatter: formatter }, |
|
|
|
|
|
|
|
// early_start: { type: "date", map_to: "planned_start", min: new Date(2018, 0, 1) },
|
|
|
|
|
|
|
|
// early_end: { type: "end_date", map_to: "planned_start", min: new Date(2018, 0, 1) },
|
|
|
|
duration: { type: "duration", map_to: "duration", min: 0, max: 365, formatter: formatter }, |
|
|
|
duration: { type: "duration", map_to: "duration", min: 0, max: 365, formatter: formatter }, |
|
|
|
cost: { type: "number", map_to: "rencana_biaya", min: 0 }, |
|
|
|
cost: { type: "number", map_to: "rencana_biaya", min: 0 }, |
|
|
|
costActual: { type: "number", map_to: "biaya_actual", min: 0 }, |
|
|
|
costActual: { type: "number", map_to: "biaya_actual", min: 0 }, |
|
|
@ -271,6 +273,7 @@ function createColumnsConfig(selectedColumns) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var allColumns = [ |
|
|
|
var allColumns = [ |
|
|
|
|
|
|
|
|
|
|
|
{ name: "action", label: colHeader, align: "left", min_width: 115, template: colContent, resize: true }, |
|
|
|
{ name: "action", label: colHeader, align: "left", min_width: 115, template: colContent, resize: true }, |
|
|
|
{ name: "kode_sortname", label: "Kode / Sortname", align: "center", min_width: 120, editor: editor.kode_sortname, resize: true }, |
|
|
|
{ name: "kode_sortname", label: "Kode / Sortname", align: "center", min_width: 120, editor: editor.kode_sortname, resize: true }, |
|
|
|
{ name: "text", label: "Activity", tree: true, min_width: 150, editor: editor.text, resize: true }, |
|
|
|
{ name: "text", label: "Activity", tree: true, min_width: 150, editor: editor.text, resize: true }, |
|
|
@ -282,7 +285,6 @@ var allColumns = [ |
|
|
|
return text.planned_start; |
|
|
|
return text.planned_start; |
|
|
|
} |
|
|
|
} |
|
|
|
},
|
|
|
|
},
|
|
|
|
{ name: "start_date", label: "Early Start", align: "center", min_width: 80, editor: editor.start_date, resize: true }, |
|
|
|
|
|
|
|
{ |
|
|
|
{ |
|
|
|
name: "planned_end", label: "Baseline Finish", align: "center", min_width: 80, editor: editor.planned_end, resize: true, template: function (text) { |
|
|
|
name: "planned_end", label: "Baseline Finish", align: "center", min_width: 80, editor: editor.planned_end, resize: true, template: function (text) { |
|
|
|
if (!text.planned_end) { |
|
|
|
if (!text.planned_end) { |
|
|
@ -291,8 +293,11 @@ var allColumns = [ |
|
|
|
return text.planned_end; |
|
|
|
return text.planned_end; |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
{ name: "start_date", label: "Early Start", align: "center", min_width: 80, editor: editor.start_date, resize: true },
|
|
|
|
{ name: "end_date", label: "Early Finish", align: "center", min_width: 80, editor: editor.end_date, resize: true }, |
|
|
|
{ name: "end_date", label: "Early Finish", align: "center", min_width: 80, editor: editor.end_date, resize: true }, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{ name: "actual_start", label: "Actual Start", align: "center", min_width: 80, resize: true }, |
|
|
|
|
|
|
|
{ name: "actual_end", label: "Actual Finish", align: "center", min_width: 80, resize: true },
|
|
|
|
{ |
|
|
|
{ |
|
|
|
name: "bobot_planning", label: "Bobot (%)", align: "center", editor: editor.bobot_planning, resize: true, min_width: 115, template: function (text) { |
|
|
|
name: "bobot_planning", label: "Bobot (%)", align: "center", editor: editor.bobot_planning, resize: true, min_width: 115, template: function (text) { |
|
|
|
let bobot = parseFloat(text.bobot_planning); |
|
|
|
let bobot = parseFloat(text.bobot_planning); |
|
|
@ -349,7 +354,7 @@ var allColumns = [ |
|
|
|
}) |
|
|
|
}) |
|
|
|
return plannedDuration; |
|
|
|
return plannedDuration; |
|
|
|
}}, |
|
|
|
}}, |
|
|
|
{ name: "duration", label: "Early Duration (Day)", align: "center", min_width: 50, resize: true, editor: editor.duration }, |
|
|
|
{ name: "duration", label: "Duration (Day)", align: "center", min_width: 50, resize: true, editor: editor.duration }, |
|
|
|
{ |
|
|
|
{ |
|
|
|
name: "rencana_biaya", label: "Cost Planning", align: "right", min_width: 100, resize: true, template: function (text) { |
|
|
|
name: "rencana_biaya", label: "Cost Planning", align: "right", min_width: 100, resize: true, template: function (text) { |
|
|
|
if (!text.rencana_biaya) { |
|
|
|
if (!text.rencana_biaya) { |
|
|
@ -517,6 +522,8 @@ let columnShows = { |
|
|
|
planned_start: false, |
|
|
|
planned_start: false, |
|
|
|
planned_end: false, |
|
|
|
planned_end: false, |
|
|
|
planned_duration: false, |
|
|
|
planned_duration: false, |
|
|
|
|
|
|
|
actual_start: false, |
|
|
|
|
|
|
|
actual_end: false, |
|
|
|
duration: true, |
|
|
|
duration: true, |
|
|
|
rencana_biaya: true, |
|
|
|
rencana_biaya: true, |
|
|
|
cost_actual: true, |
|
|
|
cost_actual: true, |
|
|
@ -543,6 +550,8 @@ gantt.config.columns = createColumnsConfig({ |
|
|
|
planned_start: true, |
|
|
|
planned_start: true, |
|
|
|
planned_end: true, |
|
|
|
planned_end: true, |
|
|
|
planned_duration: true, |
|
|
|
planned_duration: true, |
|
|
|
|
|
|
|
actual_start: true, |
|
|
|
|
|
|
|
actual_end: true, |
|
|
|
duration: true, |
|
|
|
duration: true, |
|
|
|
rencana_biaya: true, |
|
|
|
rencana_biaya: true, |
|
|
|
cost_actual: true, |
|
|
|
cost_actual: true, |
|
|
|