464 lines
15 KiB
Plaintext
464 lines
15 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>
|
|
<c:set var="categoryInputType" value="${empty categoryDataSet.SPEC_INPUT_TYPE ? '' : categoryDataSet.SPEC_INPUT_TYPE}" />
|
|
<c:set var="objid" value="${param.objid}" />
|
|
<c:set var="actionType" value="${param.actionType}" />
|
|
|
|
<c:set var="docName" value="${empty categoryInfo.DOC_NAME ? '': categoryInfo.DOC_NAME}" />
|
|
<c:set var="regDate" value="${empty categoryInfo.REGDATE ? '': categoryInfo.REGDATE}" />
|
|
<c:set var="establishDate" value="${empty categoryInfo.ESTABLISH_DATE ? '': categoryInfo.ESTABLISH_DATE}" />
|
|
<c:set var="revisionDate" value="${empty categoryInfo.REVISION_DATE ? '': categoryInfo.REVISION_DATE}" />
|
|
<c:set var="oemObjid" value="${empty categoryInfo.COMPANY_OBJID ? '': categoryInfo.COMPANY_OBJID}" />
|
|
<c:set var="competeObjid" value="${empty categoryInfo.COMPETE_COMPANY_OBJID ? '': categoryInfo.COMPETE_COMPANY_OBJID}" />
|
|
<c:set var="productGroupObjid" value="${empty categoryInfo.PRODUCT_GROUP_OBJID ? '': categoryInfo.PRODUCT_GROUP_OBJID}" />
|
|
<c:set var="productObjid" value="${empty categoryInfo.PRODUCT_OBJID ? '': categoryInfo.PRODUCT_OBJID}" />
|
|
<c:set var="carObjid" value="${empty categoryInfo.CAR_OBJID ? '': categoryInfo.CAR_OBJID}" />
|
|
<c:set var="gradeObjid" value="${empty categoryInfo.GRADE_OBJID ? '': categoryInfo.GRADE_OBJID}" />
|
|
<c:set var="gradeName" value="${empty categoryInfo.GRADE_NAME ? '': categoryInfo.GRADE_NAME}" />
|
|
<c:set var="manufacturer" value="${empty categoryInfo.MANUFACTURER ? '': categoryInfo.MANUFACTURER}" />
|
|
<c:set var="participationDate" value="${empty categoryInfo.PARTICIPATION_DATE ? '': categoryInfo.PARTICIPATION_DATE}" />
|
|
<c:set var="rev" value="${empty categoryInfo.REV ? '': categoryInfo.REV}" />
|
|
<c:set var="docNo" value="${empty categoryInfo.DOC_NO ? '': categoryInfo.DOC_NO}" />
|
|
<c:set var="specNo" value="${empty categoryInfo.SPEC_NO ? '': categoryInfo.SPEC_NO}" />
|
|
<c:set var="compatitionCar" value="${empty categoryInfo.COMPATITION_CAR_NAME ? '': categoryInfo.COMPATITION_CAR_NAME}" />
|
|
<c:set var="description" value="${empty categoryInfo.DESCRIPTION ? '': categoryInfo.DESCRIPTION}" />
|
|
<c:set var="changeHistory" value="${empty categoryInfo.CHANGE_HISTORY ? '': categoryInfo.CHANGE_HISTORY}" />
|
|
<c:set var="isWriter" value="${empty isWriter ? false: true}" />
|
|
<c:set var="eoNo" value="${empty categoryInfo.EO_NO ? '': categoryInfo.EO_NO}" />
|
|
<c:set var="revisionOrder" value="${empty categoryInfo.REVISION_ORDER ? '': categoryInfo.REVISION_ORDER}" />
|
|
|
|
<script type="text/javascript">
|
|
$(document).ready(function(){
|
|
|
|
if("${categoryDataSet.CATEGORY_HIGH_CATEGORY_NAME}"=="프로젝트산출물"){
|
|
$("#revisionBtn").hide();
|
|
$("#modifyBtn").hide();
|
|
$("#RevisionList_section").hide();
|
|
|
|
|
|
}
|
|
$("#changeBtn").hide();
|
|
|
|
if("apply" == "${categoryDataSet.USE_REVISION}" && "1" != "${categoryInfo.IS_LAST}"){
|
|
$("#revisionBtn").hide();
|
|
$("#modifyBtn").hide();
|
|
}
|
|
|
|
if("apply" == "${categoryDataSet.USE_DOC_LINK}" && "1" == "${categoryInfo.IS_LAST}"){
|
|
$("#changeBtn").show();
|
|
$("#changeBtnWidth").css({width:"273px"});
|
|
}
|
|
|
|
$(".specChange").hide();
|
|
|
|
getTransSpecDataList("from");
|
|
getTransSpecDataList("to");
|
|
|
|
drawFileList();
|
|
|
|
if(!"${isWriter}"){
|
|
$("#modifyBtn").hide();
|
|
$("#revisionBtn").hide();
|
|
$("#changeBtn").hide();
|
|
}
|
|
//getRevisionList();
|
|
});
|
|
function specDataRevision(objid){
|
|
$("#actionType").val("revision");
|
|
var param = $("#form1").serialize();
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/revisionSpecData.do",
|
|
data: param,
|
|
dataType:"json",
|
|
async:false,
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
},
|
|
success: function(result){
|
|
if(null != result){
|
|
Swal.fire(result.message);
|
|
opener.search();
|
|
self.close();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
//해당 SPEC을 치환하기 위한 Pop up을 호출한다.
|
|
function specDataChange(specObjid){
|
|
window.open("","specDataChangePop","width=900 height=700 menubar=no status=no");
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
|
|
hiddenForm.objid.value = specObjid;
|
|
hiddenForm.target = "specDataChangePop";
|
|
hiddenForm.action = "/specData/specDataSPECChange.do";
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
|
|
//치환등록 팝업 호출
|
|
function openTransFormPopup(specDataObjid){
|
|
window.open("","changeSpecDataRegPop","width=1000 height=700 menubar=no status=no");
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
|
|
hiddenForm.objid.value = specDataObjid;
|
|
hiddenForm.target = "changeSpecDataRegPop";
|
|
hiddenForm.action = "/specData/specDataTransFormPopup.do";
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
|
|
function modify(objid){
|
|
var form1 = document.form1;
|
|
form1.objid.value = objid;
|
|
form1.actionType.value = "modify";
|
|
form1.action = "/specData/specDataFormPopup.do";
|
|
form1.submit();
|
|
}
|
|
|
|
//영역별(From, To)스펙 치환문서 목록을 가져온다.
|
|
function getTransSpecDataList(type){
|
|
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/getTransSpecDataList.do",
|
|
data:{"objid":"${param.objid}","type":type,"categoryObjId":"${categoryDataSet.OBJID}"},
|
|
dataType: "json",
|
|
async:false,
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
},
|
|
success: function(result){
|
|
if(0 < result.length){
|
|
var targetArea = "";
|
|
|
|
if("from" == type){
|
|
targetArea = "transSpecDataFrom";
|
|
|
|
$("#transSpecDataFromDefault").hide();
|
|
|
|
}else if("to" == type){
|
|
targetArea = "transSpecDataTo";
|
|
|
|
$("#transSpecDataToDefault").hide();
|
|
}
|
|
$("#"+targetArea).empty();
|
|
|
|
for(var i=0;i<result.length;i++){
|
|
var appendText = "";
|
|
appendText+= "<tr>";
|
|
appendText+= " <td>"+result[i].DOC_NO+"</td>";
|
|
appendText+= " <td><a href='javascript:openSpecDataPopUp(\""+result[i].DOC_OBJID+"\")'>"+result[i].SPEC_NO+"</a></td>";
|
|
/* appendText+= " <td>"+result[i].STANDARD_NAME+"</td>"; */
|
|
appendText+= " <td>"+result[i].CATEGORY_NAME+"</td>";
|
|
appendText+= "</tr>";
|
|
$("#"+targetArea).append(appendText);
|
|
}
|
|
}else{
|
|
if("from" == type){
|
|
targetArea = "transSpecDataFrom";
|
|
$("#transSpecDataFromDefault").show();
|
|
}else if("to" == type){
|
|
targetArea = "transSpecDataTo";
|
|
$("#transSpecDataToDefault").show();
|
|
}
|
|
$("#"+targetArea).empty();
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
function drawFileList(){
|
|
$.ajax({
|
|
url:"/common/getFileList.do",
|
|
type:"POST",
|
|
data:{"targetObjId":"${objid}", "docType":"DOC_SPEC"},
|
|
dataType:"json",
|
|
async:true,
|
|
success:function(data){
|
|
|
|
if(0 < data.length){
|
|
//첨부파일 목록 영역 show
|
|
$("#uploadedFileArea").remove();
|
|
$(".defaultRow").hide();
|
|
$.each(data, function(i){
|
|
|
|
var appendText = "";
|
|
appendText+= "<tr>";
|
|
appendText+= " <td><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>"+data[i].REAL_FILE_NAME+"</a></td>";
|
|
appendText+= " <td>"+data[i].FILE_SIZE+"</td>";
|
|
appendText+= " <td>"+data[i].REGDATE+"</td>";
|
|
appendText+= "</tr>";
|
|
|
|
$("#uploadedFileAreaTable").append(appendText);
|
|
});
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
|
|
function openSpecDataPopUp(objid){
|
|
var hiddenForm = document.hiddenForm;
|
|
var target = objid;
|
|
window.open("",target,"width=900 height=550 menubar=no status=no");
|
|
hiddenForm.objid.value = objid;
|
|
hiddenForm.target = target;
|
|
hiddenForm.action = "/specData/specDataDetailViewPopup.do";
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
//revision 리스트를 가져온다
|
|
function getRevisionList(){
|
|
$.ajax({
|
|
url:"/specData/getRevisionList.do",
|
|
type:"POST",
|
|
data:{"REV":"${rev}", "DOC_NO":"${docNo}"},
|
|
dataType:"json",
|
|
async:true,
|
|
success:function(data){
|
|
|
|
if(0 < data.length){
|
|
//첨부파일 목록 영역 show
|
|
$("#revisionArea").remove();
|
|
$(".defaultRow").hide();
|
|
$.each(data, function(i){
|
|
|
|
var appendText = "";
|
|
appendText+= "<tr>";
|
|
/* appendText+= " <td><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>"+data[i].REAL_FILE_NAME+"</a></td>"; */
|
|
appendText+= " <td>"+data[i].REVISION_DATE+"</td>";
|
|
appendText+= " <td>"+data[i].REV+"</td>";
|
|
appendText+= " <td>"+data[i].CHANGE_HISTORY+"</td>";
|
|
appendText+= " <td>"+data[i].REGDATE+"</td>";
|
|
appendText+= "</tr>";
|
|
|
|
$("#revisionAreaTable").append(appendText);
|
|
});
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
</head>
|
|
<body class="backcolor_light_blue">
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="objid" id="objid">
|
|
<input type="hidden" name="categoryObjId" id="categoryObjId" value="${categoryDataSet.OBJID}">
|
|
</form>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objid" id="objid" value="${param.objid}">
|
|
<input type="hidden" name="actionType" id="actionType">
|
|
<input type="hidden" name="revision" id="revision" value="${rev}">
|
|
<section>
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>기술자료관리</span>
|
|
</h2>
|
|
</div>
|
|
<div id="businessPopupFormWrap">
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="8%">
|
|
<col width="25%">
|
|
<col width="8%">
|
|
<col width="*">
|
|
<col width="8%">
|
|
<col width="*">
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="" class="">구분</label>
|
|
</td>
|
|
<td>
|
|
<p>${categoryInfo.ROOT_NAME}</p>
|
|
</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="" class="">대분류</label>
|
|
</td>
|
|
<td>
|
|
<p>${categoryDataSet.CATEGORY_HIGH_CATEGORY_NAME}</p>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="" class="">중분류</label>
|
|
</td>
|
|
<td>
|
|
<p>${categoryDataSet.PARENT_CATEGORY_NAME}</p>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="" class="">소분류</label>
|
|
</td>
|
|
<td>
|
|
<p>${categoryDataSet.CATEGORY_NAME}</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">문서명</label>
|
|
</td>
|
|
<td colspan="3">
|
|
<p>${docName}</p>
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">문서번호</label>
|
|
</td>
|
|
<td>
|
|
<p>${docNo}</p>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">Rev</label>
|
|
</td>
|
|
<td>
|
|
<p>${rev}</p>
|
|
</td>
|
|
</tr>
|
|
<tr class="description">
|
|
<td class="input_title">
|
|
<label for="">내용</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<textarea style="width:98%; border: 1px solid #ccc;" name="description" id="description" readonly>${description}</textarea>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">첨부파일</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<div id="specAttachFileList">
|
|
<table id="uploadedFileAreaTable" class="plm_table" style="width:98.5%;">
|
|
<colgroup>
|
|
<col width="*">
|
|
<col width="12%">
|
|
<col width="12%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>파일명</td>
|
|
<td>용량</td>
|
|
<td>등록일</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="uploadedFileArea">
|
|
<tr class="defaultRow">
|
|
<td colspan="3">첨부된 첨부파일이 없습니다.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
|
|
</table>
|
|
</div>
|
|
</section>
|
|
<section id="RevisionList_section">
|
|
<div id="businessPopupFormWrap">
|
|
<div class="form_popup_title"> Revision List</div>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="15%">
|
|
</colgroup>
|
|
<tr>
|
|
<td colspan="5">
|
|
<div id="RevisionList">
|
|
<table id="revisionAreaTable" class="plm_table" style="width:98.5%;">
|
|
<colgroup>
|
|
<col width="10%">
|
|
<col width="10%">
|
|
<col width="*">
|
|
<col width="15%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>등록일</td>
|
|
<td>Revision</td>
|
|
<td>내용</td>
|
|
<td>첨부파일</td>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="revisionArea">
|
|
<c:choose>
|
|
<c:when test="${empty revisionList}">
|
|
<tr style="text-align:center;">
|
|
<td align="center" colspan="4">조회된 데이터가 없습니다.</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="item" items="${revisionList}" varStatus="varStatus">
|
|
<tr style="text-align:center;">
|
|
<td>${item.REG_DATE}</td>
|
|
<td>${item.REV}</td>
|
|
<td><a href="#" onclick="openSpecDataPopUp('${item.OBJID}')">${item.DESCRIPTION}</a></td>
|
|
<td>
|
|
<c:set var="file" value="${fn:split(item.FILE_OBJID,',')}" />
|
|
<c:set var="fileName" value="${fn:split(item.REAL_FILE_NAME,',')}" />
|
|
|
|
<c:forEach var="fileobj" items="${file}" varStatus="g">
|
|
<c:set var="cnt" value="${g.index}" />
|
|
<a title="${fileName[cnt]}" href='javascript:fnc_downloadFile("${fileobj}")'>
|
|
<c:if test="${fileobj ne '-'}">
|
|
<span class="file_icon"></span>
|
|
</c:if>
|
|
</a>
|
|
</c:forEach>
|
|
</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</section>
|
|
|
|
<div id="businessPopupFormWrap">
|
|
<div class="btn_wrap" style="clear:both;">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" id="revisionBtn" value="Revision" class="plm_btns" onclick="javascript:specDataRevision('${objid}');">
|
|
<input type="button" id="modifyBtn" value="수정" class="plm_btns" onclick="javascript:modify('${objid}');">
|
|
<input type="button" id="closeBtn" value="닫기" class="plm_btns" onclick="javascript:self.close();">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |