244 lines
8.1 KiB
Plaintext
244 lines
8.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"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
<script type="text/javascript" src="/js/jquery.floatThead.min.js" ></script>
|
|
<script>
|
|
$(document).ready(function() {
|
|
$('#fixTable').floatThead();
|
|
//닫기
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
//$(".level_1").css("background-color", "#a3a5a2");
|
|
//$(".level_2").css("background-color", "#e0e1e0");
|
|
//$(".level_3").css("background-color", "#f1edfc");
|
|
|
|
$(".btnGanttChart").click(function(){
|
|
var projectObjId = $(this).attr("data-PROJECT_OBJID");
|
|
var gate = $(this).attr("data-GATE");
|
|
|
|
window.open("/project/wbs/wbsTaskListGanttChartPopUp.do?objId="+projectObjId+"&projectStep="+gate, "ganttChartPopup", "width=1000, height=750");
|
|
});
|
|
|
|
|
|
//체크박스 전체선택/전체해제
|
|
$("#allCheck").click(function(){
|
|
if($("#allCheck").prop("checked")) {
|
|
$("input[type=checkbox]").prop("checked",true);
|
|
} else {
|
|
$("input[type=checkbox]").prop("checked",false);
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
<script>
|
|
|
|
function datepick() {
|
|
var $dateinput = $("input");
|
|
|
|
for (var i = 0; i < $dateinput.length; i++) {
|
|
var id = $dateinput.eq(i).attr("id");
|
|
|
|
if (id != null)
|
|
if (id.indexOf("Date") > -1) {
|
|
$dateinput.eq(i).attr("size", "10");
|
|
$dateinput.eq(i).datepicker();
|
|
} else {
|
|
$dateinput.eq(i).attr("size", "10");
|
|
}
|
|
}
|
|
}
|
|
|
|
//WBS Task의 상세내용을 보여준다.
|
|
function fn_openWBSTaskDetailPopUp(objId,targetObjId) {
|
|
//wbs 등록 팝업
|
|
window.open("/project/wbs/wbsTaskDetailPopUp.do?taskObjId="+objId+"&projectObjId="+targetObjId, objId, "width=650, height=350");
|
|
}
|
|
|
|
function fn_openWBSTaskListFormPopUp(){
|
|
//if(confirm("Edit Mode로 이동하시겠습니까?")){
|
|
var form = document.form1;
|
|
form.action = "/project/wbs/wbsTaskListFormPopUp.do";
|
|
form.submit();
|
|
//}
|
|
}
|
|
|
|
//TFT/PL을 통해 작성된 확인 내용 목록을 보여준다.
|
|
function fn_openTaskConfirmListPopUp(taskObjId){
|
|
window.open("/project/wbs/openTaskConfirmListPopUp.do?objId="+taskObjId, "taskConfirmListPopUp", "width=700, height=440");
|
|
}
|
|
|
|
//WBS Task에 연결된 Function Task의 목록을 가져온다.
|
|
function fn_openTaskLinkedFNTaskListPopUp(taskObjId){
|
|
window.open("/project/wbs/openTaskLinkedFNTaskListPopUp.do?&objId="+taskObjId, "taskLinkFNTaskListPopUp", "width=700, height=440");
|
|
}
|
|
|
|
|
|
function fn_changeStatus(objid, Status){
|
|
var updateStatus = confirm("TASK 상태를 변경하시겠습니까?");
|
|
if(updateStatus) {
|
|
$.ajax({
|
|
url:"/project/changewbsstatus.do",
|
|
type:"POST",
|
|
data:{"objId":objid, "status":Status},
|
|
dataType:"json",
|
|
success:function(data){
|
|
Swal.fire(data.RESULT.msg);
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objId" value="${param.objId}">
|
|
<input type="hidden" name="projectObjId" value="${param.objId}">
|
|
<input type="hidden" name="parentObjId">
|
|
<input type="hidden" name="taskObjId">
|
|
<input type="hidden" name="projStep">
|
|
<input type="hidden" name="status">
|
|
<input type="hidden" name="actionType" value="readOnly">
|
|
<section sytle="">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>프로젝트관리_WBS</span>
|
|
</h2>
|
|
</div>
|
|
<!-- <section class="contents_page_basic_margin"> -->
|
|
<div id="content-box-s" style="height:235px; overflow-y: scroll; ">
|
|
<div class="plm_table_wrap">
|
|
<!-- <span class="r_title_back">공통</span> -->
|
|
<%-- <span class="r_title_back btnGanttChart" style="cursor:pointer;" data-PROJECT_OBJID="${param.objId}" data-GATE="1">Gantt Chart</span> --%>
|
|
<table class="plm_table wbs_left_align" id="fixTable">
|
|
<colgroup>
|
|
<!-- <col width="3%"> -->
|
|
<!-- <col width="10%"> -->
|
|
<col width="10%">
|
|
<col width="8%">
|
|
<col width="8%">
|
|
<col width="8%">
|
|
<!-- <col width="5%"> -->
|
|
<!-- <col width="3%"> -->
|
|
<!-- <col width="3%"> -->
|
|
</colgroup>
|
|
<thead>
|
|
<!-- <tr class="plm_thead">
|
|
<td colspan="2">rn</td>
|
|
<td colspan="2">담당자</td>
|
|
<td colspan="3">계획</td>
|
|
<td colspan="4">실적</td>
|
|
<td rowspan="2">산출물</td>
|
|
</tr> -->
|
|
<tr class="plm_sub_thead">
|
|
<!-- <td><input type="checkbox" name="allCheck" id="allCheck"> </td> -->
|
|
<!-- <td>구분</td> -->
|
|
<td>Task Name</td>
|
|
<!-- <td>Team</td>
|
|
<td>Name</td> -->
|
|
<!-- <td>Start</td> -->
|
|
<!-- <td>계획</td> -->
|
|
<!-- <td>Duration</td> -->
|
|
<!-- <td>Start</td> -->
|
|
<td>실적일</td>
|
|
<td>산출물</td>
|
|
<td></td>
|
|
<!-- <td>Duration</td>
|
|
<td>Delay</td> -->
|
|
</tr>
|
|
</thead>
|
|
<tbody class="font_white">
|
|
<c:choose>
|
|
<c:when test="${empty projectGate1TaskList}">
|
|
<tr style="text-align:center;">
|
|
<td align="center" colspan="12">조회된 데이터가 없습니다.</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="item" items="${projectGate1TaskList}" varStatus="varStatus">
|
|
<%-- <tr class="level_${item.LEV}" ${item.TASK_DELAY eq 'Y'?'style="background-color:#FF5252;"':''}> --%>
|
|
<c:choose>
|
|
<c:when test="${item.LEV == 0}">
|
|
<tr class="level_${item.LEV}" style="background-color:#ebebeb;">
|
|
</c:when>
|
|
<c:otherwise>
|
|
<tr class="level_${item.LEV}" ${item.TASK_COMPLETE eq 'Y'?'style="background-color:#a3a5a2;"':''}>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
|
|
<%-- <td><input type="checkbox" name="chk" id="chk" data-objId="${item.OBJID}"></td> --%>
|
|
<%-- <td class='align_c'>${item.STEP_NAME}</td> --%>
|
|
<td title="${item.TASK_NAME}">${item.TASK_NAME}</td>
|
|
<%-- <td title="${item.DEPT_NAME}">${item.DEPT_NAME}</td>
|
|
<td title="${item.USER_NAME}">${item.USER_NAME}</td> --%>
|
|
|
|
<%-- <td>${item.TASK_START_PLAN_DATE_TITLE}</td> --%>
|
|
<%-- <td>${item.TASK_END_PLAN_DATE_TITLE}</td> --%>
|
|
<%-- <td>${item.PLAN_DUR}</td> --%>
|
|
|
|
<%-- <td>${item.TASK_START_DATE_TITLE}</td> --%>
|
|
<td style="text-align:center" >${item.TASK_END_DATE_TITLE}</td>
|
|
<%-- <td>${item.REAL_DUR}</td> --%>
|
|
<%-- <td>
|
|
${item.DELAY_DATE}${empty item.DELAY_DATE ? '':'일'}
|
|
</td> --%>
|
|
<td>
|
|
<%-- <c:if test="${'1' eq item.LEV}"> --%>
|
|
<a href="#" class="btnSrFile file_${item.WBS_FILE_CNT eq 0?'empty_':''}icon" onclick="fn_openWBSTaskDetailPopUp('${item.OBJID}','${item.TARGET_OBJID}');"></a>
|
|
<%-- </c:if> --%>
|
|
</td>
|
|
<td title="${item.BIGO}">${item.BIGO}</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="8%">
|
|
<col width="8%">
|
|
<col width="8%">
|
|
</colgroup>
|
|
<tr>
|
|
<td colspan="2" class="input_title">
|
|
<label for="">상태</label>
|
|
</td>
|
|
|
|
|
|
|
|
<td colspan="2" class="input_sub_title">
|
|
<select name="status" id="status" required reqTitle="상태" type="select" onchange="javascript:fn_changeStatus('${param.objId}', this.value)">
|
|
<option value="">선택</option>
|
|
${code_map.status}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div class="plm_btn_wrap_center">
|
|
<!-- 총괄PM만 수정할수있음 -->
|
|
<c:if test="${projectAuthMap.isTFTLeader}">
|
|
<input type="button" value="Edit" class="plm_btns" onclick="fn_openWBSTaskListFormPopUp();">
|
|
</c:if>
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |