138 lines
5.1 KiB
Plaintext
138 lines
5.1 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8"
|
|
pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*"%>
|
|
<%@include file="/init.jsp"%>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
fn_setChart();
|
|
});
|
|
</script>
|
|
<script>
|
|
function fn_setChart(){
|
|
var objId = $("#projectObjId").val();
|
|
var projectStep = $("#gate").val();
|
|
|
|
//Swal.fire("objId : "+objId+", projectStep : "+projectStep);
|
|
|
|
$.ajax({
|
|
url:"/propject/wbs/wbsTaskListGanttChartData.do",
|
|
type:"POST",
|
|
data:{"objId":objId,"projectStep":projectStep,"forGantt":"Y"},
|
|
dataType:"json",
|
|
success:function(data){
|
|
//set chart1
|
|
if(data != null){
|
|
var g = new JSGantt.GanttChart(document.getElementById('chartArea'), 'day');
|
|
if (g.getDivId() != null) {
|
|
g.setCaptionType('Complete'); // Set to Show Caption (None,Caption,Resource,Duration,Complete)
|
|
g.setQuarterColWidth(36);
|
|
g.setDateTaskDisplayFormat('day dd month yyyy'); // Shown in tool tip box
|
|
g.setDayMajorDateDisplayFormat('mon yyyy - Week ww') // Set format to display dates in the "Major" header of the "Day" view
|
|
g.setWeekMinorDateDisplayFormat('dd mon') // Set format to display dates in the "Minor" header of the "Week" view
|
|
g.setShowTaskInfoLink(1); // Show link in tool tip (0/1)
|
|
g.setShowEndWeekDate(0); // Show/Hide the date for the last day of the week in header for daily view (1/0)
|
|
g.setUseSingleCell(10000); // Set the threshold at which we will only use one cell per table row (0 disables). Helps with rendering performance for large charts.
|
|
g.setFormatArr('Day', 'Week', 'Month', 'Quarter'); // Even with setUseSingleCell using Hour format on such a large chart can cause issues in some browsers
|
|
g.setShowRes(1);
|
|
g.setShowDur(1);
|
|
g.setShowComp(0);
|
|
|
|
$.each(data, function(i){
|
|
var objId = fnc_checkNull(data[i].OBJID);
|
|
var taskName = fnc_checkNull(data[i].TASK_NAME);
|
|
var taskStartPlanDate = fnc_checkNull(data[i].TASK_START_PLAN_DATE_TITLE);
|
|
var taskEndPlanDate = fnc_checkNull(data[i].TASK_END_PLAN_DATE_TITLE);
|
|
var pic = fnc_checkNull(data[i].DEPT_NAME)+" "+fnc_checkNull(data[i].USER_NAME);
|
|
var parentObjId = fnc_checkNull(data[i].PARENT_OBJID);
|
|
var taskType = fnc_checkNull(data[i].TASK_TYPE);
|
|
|
|
var taskComplete = fnc_checkNull(data[i].TASK_COMPLETE);
|
|
var taskPlan = fnc_checkNull(data[i].TASK_PLAN);
|
|
var taskOngoing = fnc_checkNull(data[i].TASK_ONGOING);
|
|
var taskDelay = fnc_checkNull(data[i].TASK_DELAY);
|
|
|
|
var isGroup = 1;
|
|
var style = "";
|
|
if(taskType == "task"){
|
|
isGroup = 0;
|
|
if(taskComplete == "Y"){
|
|
style = "gtaskgreen";
|
|
}else if(taskComplete == "N" && taskPlan == "Y"){
|
|
style = "gtaskblue";
|
|
}else if(taskComplete == "N" && taskOngoing == "Y"){
|
|
style = "gtaskyellow";
|
|
}else if(taskComplete == "N" && taskDelay == "Y"){
|
|
style = "gtaskred";
|
|
}
|
|
}else{
|
|
style = "ggroupblack";
|
|
}
|
|
|
|
console.log("objId : "+objId+", parentObjId : "+parentObjId+", taskName : "+taskName+", startDate : "+taskStartPlanDate+", endDate : "+taskEndPlanDate+", pic : "+pic);
|
|
// Parameters (pID, pName, pStart, pEnd, pStyle, pLink (unused) pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt)
|
|
g.AddTaskItem(new JSGantt.TaskItem(
|
|
objId //pId
|
|
, taskName //pName
|
|
, taskStartPlanDate //pStart
|
|
, taskEndPlanDate //pEnd
|
|
, style //pStyle
|
|
, '' //pLink(unused)
|
|
, 0 //pMile
|
|
, pic //pRes
|
|
, '30' //pComp
|
|
, isGroup //pGroup
|
|
, parentObjId //pParent
|
|
, 1 //pOpen
|
|
, '' //pDepend
|
|
, '' //pCaption
|
|
, '' //pNotes
|
|
, g //pGantt
|
|
));
|
|
});
|
|
|
|
g.Draw();
|
|
} else {
|
|
Swal.fire("Error, unable to create Gantt Chart");
|
|
}
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire("error");
|
|
}
|
|
});
|
|
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="projectObjId" id="projectObjId" value="${param.objId}" />
|
|
<input type="hidden" name="gate" id="gate" value="${param.projectStep}" />
|
|
<div sytle="">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>Gantt Chart</span>
|
|
</h2>
|
|
</div>
|
|
<section class="contents_page_basic_margin">
|
|
<div style="position:relative; display:block;" id="chartArea"></div>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |