ERP-node/WebContent/WEB-INF/view/project/wbs/wbsTaskListGanttChartPopUp.jsp

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>