332 lines
9.4 KiB
Plaintext
332 lines
9.4 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>
|
|
|
|
<!-- //JSTL 변수선언 -->
|
|
<c:set var="totalCount" value="${empty TOTAL_COUNT?0:TOTAL_COUNT}" />
|
|
<c:set var="maxPage" value="${empty MAX_PAGE_SIZE?1:MAX_PAGE_SIZE}" />
|
|
<c:set var="nPage" value="${empty param.page?1:param.page}" />
|
|
<c:set var="pageIndex" value="${(nPage-1)/10}" />
|
|
<c:set var="nextPage" value="${empty NEXT_PAGE?1:NEXT_PAGE}" />
|
|
<c:set var="prevPage" value="${empty PREV_PAGE?1:PREV_PAGE}" />
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(function(){
|
|
$("#btn_approval").click(function(){
|
|
var objId = $("input[name=btnEO]:checked").val();
|
|
var targetStatus = $("input[name=btnEO]:checked").attr("data-TARGET_STATUS");
|
|
|
|
if(objId == undefined){
|
|
Swal.fire("EO를 선택해 주시기 바랍니다.");
|
|
return;
|
|
}else{
|
|
if(targetStatus == "create" || targetStatus == "reject"){
|
|
|
|
if(checkEOValidate(objId)){
|
|
window.open("/approval/registApproval.do?targetType=EO&targetObjId="+objId+"&callbackFnc=opener.search","registApproval","width=700,height=670");
|
|
}
|
|
}else{
|
|
Swal.fire("결재대상이 아닙니다.");
|
|
}
|
|
}
|
|
});
|
|
|
|
$(".btnApprovalDetail").click(function(){
|
|
var approvalObjId = $(this).attr("data-APPROVAL_OBJID");
|
|
var routeObjId = $(this).attr("data-ROUTE_OBJID");
|
|
|
|
var params = "?approvalObjId="+approvalObjId;
|
|
params += "&routeObjId="+routeObjId;
|
|
params += "&callbackFnc=opener.search";
|
|
|
|
window.open("/approval/approvalDetail.do"+params,"approvalDetailPopup","width=650 height=760 menubar=no status=no");
|
|
});
|
|
});
|
|
|
|
//결재 상신 전 EO의 값의 유효성을 검사한다.
|
|
function checkEOValidate(objId){
|
|
var flag = true;
|
|
if(objId != ""){
|
|
$.ajax({
|
|
url:"/eo/checkEOValidate.do",
|
|
type:"POST",
|
|
data:{"objId":objId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
if(data != null){
|
|
var validateCnt = 0;
|
|
var validateMessage = "";
|
|
|
|
if("empty" == fnc_checkNull(data.eoNo)){
|
|
validateCnt++;
|
|
validateMessage += "* EO No가 비어있습니다.\n"
|
|
}
|
|
|
|
if("default" == fnc_checkNull(data.eoNo)){
|
|
validateCnt++;
|
|
validateMessage += "* 유효하지 않은 EO No 입니다.\n"
|
|
}
|
|
|
|
if("empty" == fnc_checkNull(data.oem)){
|
|
validateCnt++;
|
|
validateMessage += "* 선택된 고객사 정보가 없습니다.\n"
|
|
}
|
|
|
|
if("empty" == fnc_checkNull(data.car)){
|
|
validateCnt++;
|
|
validateMessage += "* 선택된 차종 정보가 없습니다.\n"
|
|
}
|
|
|
|
if("empty" == fnc_checkNull(data.eoType)){
|
|
validateCnt++;
|
|
validateMessage += "* 선택된 EO 종류가 없습니다.\n"
|
|
}
|
|
|
|
if("empty" == fnc_checkNull(data.designTeam)){
|
|
validateCnt++;
|
|
validateMessage += "* 작성된 고객사 설계팀이 없습니다.\n"
|
|
}
|
|
|
|
if("empty" == fnc_checkNull(data.eoIssuDate)){
|
|
validateCnt++;
|
|
validateMessage += "* EO Date의 값이 없습니다.\n"
|
|
}
|
|
|
|
if("empty" == fnc_checkNull(data.urgentDegree)){
|
|
validateCnt++;
|
|
validateMessage += "* 선택된 긴급도가 없습니다.\n"
|
|
}
|
|
|
|
/* if("empty" == fnc_checkNull(data.hkmcDate)){
|
|
validateCnt++;
|
|
validateMessage += "* 선택된 구매배포일이 없습니다.\n"
|
|
} */
|
|
|
|
if("empty" == fnc_checkNull(data.connectPart)){
|
|
validateCnt++;
|
|
validateMessage += "* 연결된 Part가 없습니다.\n"
|
|
}
|
|
if(validateCnt > 0){
|
|
var messageContents = "다음과 같은 문제로 결재 상신할 수 없습니다.\n";
|
|
messageContents += validateMessage;
|
|
Swal.fire(messageContents);
|
|
flag = false;
|
|
}
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}else{
|
|
Swal.fire("유효하지 않은 접근 입니다.");
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
|
|
function openEOPopup(objId,actionType){
|
|
var hiddenForm = document.hiddenForm;
|
|
|
|
var target = "tempEoListPopup";
|
|
var url = "/eo/eoFormPopup.do";
|
|
if("" != objId){
|
|
target = objId;
|
|
url = "/eo/eoDetailViewPopup.do";
|
|
}
|
|
|
|
window.open("",target,"width=1500,height=700");
|
|
hiddenForm.objId.value = objId;
|
|
hiddenForm.actionType.value = actionType;
|
|
hiddenForm.action = url;
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
function deleteEO(){
|
|
|
|
var objId= $("input:radio[name=btnEO]:checked").val();
|
|
var targetStatus = $("input[name=btnEO]:checked").attr("data-TARGET_STATUS");
|
|
|
|
if("" != objId && null != objId){
|
|
|
|
if(targetStatus != "create" && targetStatus != "reject"){
|
|
Swal.fire("삭제가능한 대상이 아닙니다.");
|
|
return false;
|
|
}
|
|
|
|
if(confirm("해당 EO를 삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/eo/deleteEO.do",
|
|
type:"POST",
|
|
data:{"objId":objId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
Swal.fire(data.message);
|
|
search();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function createEOData(){
|
|
if(confirm("신규 EO를 틍록 하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/eo/createEOData.do",
|
|
type:"POST",
|
|
data:{"actionType":"regist"},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
Swal.fire(data.message);
|
|
search();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function search(){
|
|
var form = document.form1;
|
|
form.action = "/eo/tempEoList.do";
|
|
form.status.value = "create";
|
|
form.submit();
|
|
}
|
|
|
|
function fn_search(){
|
|
search();
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
<body class="backcolor">
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="objId" id="objId">
|
|
<input type="hidden" name="actionType" id="actionType">
|
|
</form>
|
|
<form name="form1" action="" method="post">
|
|
<input type="hidden" name="status" id="status">
|
|
<section class="min_part_search">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>ECO등록</span>
|
|
</h2>
|
|
</div>
|
|
<div class="contents_page_basic_margin">
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap">
|
|
<input type="button" value="결재상신" class="plm_btns" id="btn_approval">
|
|
<input type="button" value="ECO 등록" class="plm_btns" onclick="createEOData();">
|
|
<input type="button" value="ECO 삭제" class="plm_btns" onclick="deleteEO();">
|
|
</div>
|
|
</div>
|
|
<div class="plm_table_wrap">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="2%" />
|
|
<col width="2%" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="*" />
|
|
<col width="5%" />
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td colspan="2">No</td>
|
|
<td>고객사</td>
|
|
<td>차종</td>
|
|
<td>ECO종류</td>
|
|
<td>ECO No</td>
|
|
<td>ECO Date</td>
|
|
<td>ECO 배포팀</td>
|
|
<td>배포팀</td>
|
|
<td>등록일</td>
|
|
<td>상태</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<c:choose>
|
|
<c:when test="${empty eoList}">
|
|
<tr style="text-align:center;">
|
|
<td align="center" colspan="11">조회된 데이터가 없습니다.</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="item" items="${eoList}" varStatus="varStatus">
|
|
<tr style="text-align:center;">
|
|
<td>${varStatus.index+1}</td>
|
|
<td><input type="radio" name="btnEO" value="${item.OBJID}" data-TARGET_STATUS="${item.STATUS}"></td>
|
|
<td>${item.OEM_NAME}</td>
|
|
<td>${item.CAR_CODE}</td>
|
|
<td>${item.EO_TYPE_TITLE}</td>
|
|
<td><a href="#" onclick="openEOPopup('${item.OBJID}','')">${item.EO_NO}</a></td>
|
|
<td>${item.EO_ISSUE_DATE}</td>
|
|
<td>${item.DESIGN_TEAM}</td>
|
|
<td>${item.WRITER}</td>
|
|
<td>${item.REGDATE}</td>
|
|
<td>
|
|
<c:choose>
|
|
<c:when test="${item.STATUS eq 'create'}">
|
|
작성중
|
|
</c:when>
|
|
<c:when test="${item.STATUS eq 'approval'}">
|
|
<a href="#" class="btnApprovalDetail" data-APPROVAL_OBJID="${item.APPROVAL_OBJID}" data-ROUTE_OBJID="${item.ROUTE_OBJID}">결재중</a>
|
|
</c:when>
|
|
<c:when test="${item.STATUS eq 'reject'}">
|
|
반려
|
|
</c:when>
|
|
<c:otherwise>
|
|
${item.STATUS}
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<table class="pagenation_table">
|
|
<tr>
|
|
<td class="pagenation_pre"><a href="#">pre</a></td>
|
|
<td><a href="#" style="color:#f47624;">1</a></td>
|
|
<td><a href="#">2</a></td>
|
|
<td><a href="#">3</a></td>
|
|
<td><a href="#">4</a></td>
|
|
<td><a href="#">5</a></td>
|
|
<td class="pagenation_next"><a href="#">next</a></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |