ERP-node/WebContent/WEB-INF/view/eo/tempEoList.jsp

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>