ERP-node/WebContent/WEB-INF/view/part/startDevPartDetailPopup.jsp

470 lines
18 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="objid" value="${partInfoMap.OBJID}" />
<c:set var="drawingNoObjId" value="${partInfoMap.DRAWING_NO_OBJID}" />
<c:set var="status" value="${partInfoMap.STATUS}" />
<c:set var="userId" value="${empty partInfoMap.userId?userId:''}" />
<c:set var="writer" value="${partInfoMap.WRITER}" />
<c:set var="mngItemCnt" value="${empty partInfoMap.PART_MNG_ITEM_CNT?0:partInfoMap.PART_MNG_ITEM_CNT}" />
<c:set var="mngItemType" value="${partInfoMap.MNG_ITEM_TYPE}" />
<script type="text/javascript">
$(function(){
$(document).ready(function(){
shapeAreaDraw();
dataAreaDraw();
attachAreaDraw();
$("#btn_revision").hide();
$("#btn_saveRevision").hide();
if("view" == "${param.actionType}" || "${userId}" != "${writer}"){
$("#btn_modify").hide();
}
if("${userId}" == "plm_admin" && "complete" == "${status}"){
$("#btn_modify").show();
}
});
});
//형상 영역을 display 한다.
function shapeAreaDraw(){
fn_fileCallback("shape","${SHAPE_CODE}");
}
//DATA 영역을 display 한다.
function dataAreaDraw(){
fn_fileCallback("data","${DATA_CODE}");
}
//참고자료 영역을 display 한다.
function attachAreaDraw(){
fn_fileCallback("attach","${ATTACH_CODE}");
}
function openImagePopUp(url){
var img=new Image();
img.src=url;
var img_width=img.width;
var img_height=img.height;
var win_width=img.width+25;
var height=img.height+30;
window.open(url,"partListShapeImgPopUp","width="+img_width+",height="+height+", menubars=no, scrollbars=yes, resizable=yes'");
}
//첨부파일 목록을 가져온다.
function fn_fileCallback(areaId,fileType){
$.ajax({
url:"/common/getFileList.do",
type:"POST",
data:{"targetObjId":"${objid}", "docType":fileType},
dataType:"json",
async:false,
success:function(data){
if(0 < data.length){
$("#"+areaId+"FileArea").empty();
if(0 < $("#"+areaId+"DefaultRow").length){
$("#"+areaId+"DefaultRow").hide();
}
$.each(data, function(i){
var appendText = "";
if("shape" == areaId){
var path = data[i].FILE_PATH;
var fileName = data[i].SAVED_FILE_NAME;
var fileExt = data[i].UPPER_FILE_EXT;
if(fileExt == "JPEG" || fileExt == "JPG"){
var srcLocation = encodeURI("/common/viewImage.do?realFileName="+data[i].REAL_FILE_NAME+"&savedFileName="+data[i].SAVED_FILE_NAME+"&attDir="+data[i].FILE_PATH);
appendText+= "<tr>";
appendText+= " <td>";
appendText+= " <img src='"+srcLocation+"' height='100' width='100' onclick=\"openImagePopUp(this.src)\" style='cursor:pointer;' />";
appendText+= " </td>";
appendText+= "</tr>";
//첨부파일 목록 영역 show
$("#"+areaId+"AttachFileList").show();
$("#"+areaId+"FileArea").empty();
}else{
Swal.fire("형상에 업로드 가능한 확장자(jpeg,jpg)가 아닙니다.");
fileDelete(data[i].OBJID,"refeshAttachFileArea",false);
}
}else{
appendText+= "<tr>";
appendText+= " <td>"+(i+1)+"</a></td>";
appendText+= " <td><p><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>"+data[i].REAL_FILE_NAME+"</a>";
appendText+= " <div class='delete_btn' onclick='javascript:fnc_deleteFile(\""+data[i].OBJID+"\", \"refeshAttachFileArea\")'></div></p></td>";
appendText+= " <td>"+data[i].DEPT_NAME+" "+data[i].USER_NAME+"</td>";
appendText+= " <td>"+data[i].REGDATE+"</td>";
appendText+= "</tr>";
}
$("#"+areaId+"FileArea").append(appendText);
});
}else{
$("#"+areaId+"DropZone").show();
$("#"+areaId+"FileArea").empty();
}
},
error: function(jqxhr, status, error){
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText);
}
});
}
function openPartFormPopup(){
if(confirm("수정하시겠습니까?")){
var form = document.form1;
var url = "/part/openStartDevPartFormPopUp.do";
form.action = url;
form.actionType.value = "modify";
form.submit();
}
}
function fn_btn_close(){
if("view" != "${param.actionType}"){
opener.location.reload();
}
self.close();
}
//파일 다운로드 시 DB에 확인 이력 입력
function checkPartMngFile(status){
if(status != "" || status != null){
if(confirm("해당 관리항목을 확인처리 하시겠습니까?")){
$.ajax({
type : "POST",
url : "/part/checkPartMngFile.do",
data:{ "partObjId" : "${objid}","status":status},
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);
$("#btn_confirm").hide();
$("#mngItemReceptLength").val(0);
window.location.reload();
}
}
});
}
}
}
//Revision 클릭 시 해당 파트의 모든 Revision을 보여준다.
function fn_openPartListPop(partNo){
window.open("","openPartListPop","width=1500 height=560 menubar=no status=no");
var form = document.hiddenForm;
form.action = "/part/openRevisionPartPopUp.do";
form.partNo.value = partNo;
form.target = "openPartListPop";
form.status.value = "all";
form.submit();
}
</script>
</head>
<body class="backcolor_light_blue">
<form name="hiddenForm" id="hiddenForm" method="post">
<input type="hidden" name="objId">
<input type="hidden" name="objid">
<input type="hidden" name="actionType" value="${param.actionType}">
<input type="hidden" name="partNo">
<input type="hidden" name="status">
</form>
<form name="form1" action="" method="post">
<input type="hidden" name="objid" id="objid" value="${objid}">
<input type="hidden" name="actionType" id="actionType">
<input type="hidden" name="revCount" id="revCount" value="${partInfoMap.REV_CNT}">
<section class="part_popup_min_width">
<!-- Part의 관리항목 목록을 보여줄 영역. -->
<div id="mngItemConfirmArea"></div>
<div class="pdm_menu_name">
<h2>
<span>시작 Part상세</span>
</h2>
</div>
<div id="partPopupFormWrap" class="partPopupFormWrapLeft">
<div class="form_popup_title">&nbsp;&nbsp;&nbsp;시작 Part 상세 정보</div>
<table id="partPopupForm">
<colgroup>
<col width="13%" />
<col width="38%" />
<col width="*" />
<col width="13%" />
<col width="18%" />
<col width="19%" />
</colgroup>
<tr>
<td class="tr_title_border_bottom"><label for="">품번</label>
</td>
<td class="tr_data_border_bottom">${partInfoMap.PART_NO}</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">RH P/No.</label></td>
<td class="tr_data_border_bottom" colspan="2">${partInfoMap.RH_PART_NO_ORG}</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">품명</label></td>
<td class="tr_data_border_bottom" colspan="5">
${partInfoMap.PART_NAME}
</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">고객사</label></td>
<td class="tr_data_border_bottom">
${partInfoMap.OEM_NAME} ${empty partInfoMap.OEM_CODE?'':'('}${partInfoMap.OEM_CODE}${empty partInfoMap.OEM_CODE?'':')'}
</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">차종</label></td>
<td class="tr_data_border_bottom" colspan="2">
${partInfoMap.CAR_CODE}
</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">제품군</label></td>
<td class="tr_data_border_bottom">
${partInfoMap.PRODUCT_GROUP_NAME}</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">제품</label></td>
<td class="tr_data_border_bottom" colspan="2">
${partInfoMap.PRODUCT_NAME}
</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">EO No.</label></td>
<td class="tr_data_border_bottom">${partInfoMap.EO_NO_ORG}</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">EO Date</label></td>
<td class="tr_data_border_bottom" colspan="2">${partInfoMap.EO_ISSUE_DATE_ORG}</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">Rev</label></td>
<td class="tr_data_border_bottom">
<a href="#" onclick="fn_openPartListPop('${partInfoMap.PART_NO}')">${partInfoMap.REV}</a>
</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">사양</label></td>
<td class="tr_data_border_bottom" colspan="2">${empty partInfoMap.PART_OPTION_NAME ? '':partInfoMap.PART_OPTION_NAME}</td>
</tr>
<tr>
<td class="checkboxName_20px tr_title_border_bottom"><label for="">출도구분</label></td>
<td class="tr_data_border_bottom">
<input type="radio" name="drawReleaseType" value="dev" ${'dev' eq partInfoMap.DRAWING_RELEASE_TYPE ? 'checked':''} disabled /><span>개발</span>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="drawReleaseType" value="product" ${'product' eq partInfoMap.DRAWING_RELEASE_TYPE ? 'checked':''} disabled /><span>양산</span>
</td>
<td></td>
<td class="checkboxName_10px tr_title_border_bottom"><label for="">부품구분</label></td>
<td class="tr_data_border_bottom" colspan="2">
<input type="radio" name="partType" value="unique" ${'unique' eq partInfoMap.PART_TYPE ? 'checked':''} disabled /><span>Unique part</span>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="partType" value="standard" ${'standard' eq partInfoMap.PART_TYPE ? 'checked':''} disabled /><span>표준 품</span>
</td>
</tr>
<tr>
<td class="checkboxName_20px tr_title_border_bottom"><label for="">도면구분</label></td>
<td class="tr_data_border_bottom">
<input type="radio" name="drawType" value="draw" ${'draw' eq partInfoMap.DRAWING_TYPE ? 'checked':''} disabled /><span>D</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="drawType" value="shownOn" ${'shownOn' eq partInfoMap.DRAWING_TYPE ? 'checked':''} disabled /><span>S</span>
</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">두께</label></td>
<td class="tr_data_border_bottom" colspan="2">
${empty partInfoMap.THICKNESS ? '':partInfoMap.THICKNESS}
</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">재질</label></td>
<td class="tr_data_border_bottom">
${empty partInfoMap.MATERIAL_NAME ? '':partInfoMap.MATERIAL_NAME}
</td>
<td></td>
<td class="tr_title_border_bottom"><label for="">도면번호</label></td>
<td class="tr_data_border_bottom" colspan="2">${empty partInfoMap.DRAWING_NO_ORG ? '':partInfoMap.DRAWING_NO_ORG}
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">대체재질 유무</label>
</td>
<td colspan="2" class="tr_data_border_bottom" >${empty partInfoMap.SUB_MATERIAL_TYPE ? '':partInfoMap.SUB_MATERIAL_TYPE}</br>${empty partInfoMap.SUB_MATERIAL_NAME ? '':partInfoMap.SUB_MATERIAL_NAME}</td>
<td class="tr_title_border_bottom" >
<label for="">시작공용품</label>
</td>
<td colspan="2" class="tr_data_border_bottom">
<input type="radio" name="startCommonProductType" value="Y" disabled ${'Y' eq partInfoMap.START_COMMON_PRODUCT_TYPE ? 'checked':''} reqTitle="시작공용품">
<span>Y</span>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="startCommonProductType" value="N" disabled ${'N' eq partInfoMap.START_COMMON_PRODUCT_TYPE ? 'checked':''}>
<span>N</span>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom"><label for="">자재유형</label></td>
<td colspan="2" class="tr_data_border_bottom">
${empty partInfoMap.MATERIAL_TYPE_NAME ? '':partInfoMap.MATERIAL_TYPE_NAME}
</td>
<td class="tr_title_border_bottom" >
<label for="">사양</label>
</td>
<td colspan="2" class="tr_data_border_bottom">${empty partInfoMap.PART_OPTION_NAME ? '':partInfoMap.PART_OPTION_NAME}</td>
</tr>
<tr style="height:105px;">
<td class="tr_title_border_bottom"><label for="">weight(g)</label></td>
<td colspan="2" class="tr_data_border_bottom">${partInfoMap.WEIGHT}</td>
<td class="tr_title_border_bottom" rowspan=""><label for="">형상</label></td>
<td colspan="2" rowspan="" id="img_position_re" class="tr_data_border_bottom">
<div id="shapeAttachFileList">
<table id="shapeFileAreaTable" class="spec_data_in_table">
<tbody id="shapeFileArea">
</tbody>
</table>
</div>
</td>
</tr>
<tr>
<td colspan="6" class="hr_td"><hr></td>
</tr>
<tr>
<td class="checkboxName_60px tr_title_border_bottom">
<label for="">기변항목</label>
</td>
<td colspan="6">
<input type="checkbox" name="changeItem" value="changeGeometry" disabled ${empty connectChangeItemInfo.changeGeometry ? '' : connectChangeItemInfo.changeGeometry} required reqTitle="기변항목">
<span class="span_margin">형상변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="materialThickChange" disabled ${empty connectChangeItemInfo.materialThickChange ? '' : connectChangeItemInfo.materialThickChange}>
<span>재질/두께변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="cycleChange" disabled ${empty connectChangeItemInfo.cycleChange ? '' : connectChangeItemInfo.cycleChange}>
<span>주기변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="constructChange" disabled ${empty connectChangeItemInfo.constructChange ? '' : connectChangeItemInfo.constructChange}>
<span>구성변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="weldingSpot" disabled ${empty connectChangeItemInfo.weldingSpot ? '' : connectChangeItemInfo.weldingSpot}>
<span class="span_margin_1">용접점</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="structurGlue" disabled ${empty connectChangeItemInfo.structurGlue ? '' : connectChangeItemInfo.structurGlue}>
<span class="span_margin_2">구조용접착제</span>&nbsp;&nbsp;</br>
<input type="checkbox" name="changeItem" value="first" disabled ${empty connectChangeItemInfo.first ? '' : connectChangeItemInfo.first}>
<span class="span_margin_3">초도</span>
<input type="checkbox" name="changeItem" value="etc" disabled ${empty connectChangeItemInfo.etc ? '' : connectChangeItemInfo.etc}>
<span>기타</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="none" disabled ${empty connectChangeItemInfo.none ? '' : connectChangeItemInfo.none} >
<span>해당 無</span>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom">
<label for="">비고</label>
</td>
<td colspan="5">
<textarea style="resize:none; height:80px;" readonly >${partInfoMap.REMARKS}</textarea>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" rowspan="2">
<label for="">DATA</label>
</td>
</tr>
<tr>
<td colspan="6">
<div style="overflow-y:scroll;">
<table class="fileListscrollThead" style="width:100% !important;">
<colgroup>
<col width="10%">
<col width="*">
<col width="15%">
<col width="15%">
</colgroup>
<tr>
<td>No</td>
<td>파일명</td>
<td>등록자</td>
<td>등록일</td>
</tr>
</table>
</div>
<div style="height:90px; overflow-y:scroll; border-bottom:2px solid #cacaca;" id="dataAttachFileList">
<table class="fileListscrollTbody" id="dataFileAreaTable">
<colgroup>
<col width="10%">
<col width="*">
<col width="15%">
<col width="15%">
</colgroup>
<tr id="dataDefaultRow">
<td colspan="4">첨부된 파일이 없습니다.</td>
</tr>
<tbody id="dataFileArea"></tbody>
</table>
</div>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" rowspan="2">
<label for="">기타첨부자료</label>
</td>
</tr>
<tr>
<td colspan="6" >
<div style="overflow-y:scroll;">
<table class="fileListscrollThead" style="width:100% !important;">
<colgroup>
<col width="10%">
<col width="*">
<col width="15%">
<col width="15%">
</colgroup>
<tr>
<td>No</td>
<td>파일명</td>
<td>등록자</td>
<td>등록일</td>
</tr>
</table>
</div>
<div style="height:90px; overflow-y:scroll; border-bottom:2px solid #cacaca;" id="attachAttachFileList">
<table class="fileListscrollTbody" id="attachFileAreaTable">
<colgroup>
<col width="10%">
<col width="*">
<col width="15%">
<col width="15%">
</colgroup>
<tr id="attachDefaultRow">
<td colspan="4">첨부된 파일이 없습니다.</td>
</tr>
<tbody id="attachFileArea"></tbody>
</table>
</div>
</td>
</tr>
</table>
<div class="btnCenterWrap">
<center class="center_btns_wrap">
<input type="button" value="수정" id="btn_modify" class="pdm_btns" onclick="openPartFormPopup();">
<input type="button" value="닫기" id="btn_close" class="pdm_btns" onclick="fn_btn_close();">
</center>
</div>
</div>
</section>
</form>
</body>
</html>