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

779 lines
29 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="actionType" value="${param.actionType}" />
<c:set var="objid" value="${partInfoMap.OBJID}" />
<c:set var="status" value="${partInfoMap.STATUS}" />
<script type="text/javascript">
$(document).ready(function(){
fnc_datepick();
fnc_setFileDropZone("shapeDropZone", "${objid}", "${SHAPE_CODE}", "${SHAPE_NAME}", "shapeAreaDraw",true,null,null);
fnc_setFileDropZone("dataDropZone", "${objid}", "${DATA_CODE}", "${DATA_NAME}", "dataAreaDraw",false,null,null);
fnc_setFileDropZone("attachDropZone", "${objid}", "${ATTACH_CODE}", "${ATTACH_NAME}", "attachAreaDraw",false,null,null);
shapeAreaDraw();
dataAreaDraw();
attachAreaDraw();
if("regist" == "${actionType}"){
$("#conversionFile").remove();
}else{
getCarList("${partInfoMap.OEM_OBJID}","${partInfoMap.CAR_OBJID}");
getProductList("${partInfoMap.PRODUCT_GROUP_OBJID}","${partInfoMap.PRODUCT_OBJID}");
}
});
function refeshAttachFileArea(){
shapeAreaDraw();
dataAreaDraw();
attachAreaDraw();
}
function savePart(){
var flag = false;
var url = "/part/saveStartDevPartInfo.do";
flag = duplicatePartChk();
if(!flag){
if(fnc_valitate("form1")){
if(confirm("저장 하시겠습니까?")){
var param = $("#form1").serialize();
$.ajax({
type : "POST",
url : url,
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();
}
}
});
}
}
}
}
//파트의 중복여부를 체크한다.
function duplicatePartChk(){
var flag = false;
var partNo = $("#partNo").val();
var objid = $("#objid").val();
var paramData = {"search_partNo":partNo, "targetObjId":objid, "isStartDevPart":"0"};
if(partNo != ""){
$.ajax({
type : "POST",
url : "/part/duplicatePartChk.do",
data: paramData,
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){
if(0 < result.length){
Swal.fire("이미 해당 Part No가 존재합니다.");
flag = true;
}
}
}
});
}
return flag;
}
//고객사에 따른 차종의 목록을 가져온다.
function getCarList(oemObjid,carObjid){
var carSelectObj = $("#car");
$(carSelectObj).find("option").remove();
$(carSelectObj).append("<option value=''>선택</option>");
if("" == oemObjid || null == oemObjid){
return false;
}else{
$.ajax({
type : "POST",
url : "/admin/getOEMsCarList.do",
data:{ "status" : "active" , "oemObjId" : oemObjid},
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){
for(var i=0;i<result.length;i++){
var objid = result[i].OBJID;
var carName = result[i].CAR_NAME;
var carCode = result[i].CAR_CODE;
$(carSelectObj).append("<option value='"+objid+"'>"+carCode+"</option>");
}
if("" != carObjid){
$(carSelectObj).val(carObjid);
}
}
}
});
}
}
//제품군에 따른 제품의 목록을 가져온다.
function getProductList(productFamilyObjid,productObjid){
var productSelectObj = $("#product");
$(productSelectObj).find("option").remove();
$(productSelectObj).append("<option value=''>선택</option>");
if("" == productFamilyObjid || null == productFamilyObjid){
return false;
}else{
$.ajax({
type : "POST",
url : "/specData/getProductList.do",
data:{ "status" : "active", "productGroupObjid" : productFamilyObjid},
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){
for(var i=0;i<result.length;i++){
$(productSelectObj).append("<option value='"+result[i].OBJID+"'>"+result[i].PRODUCT_NAME+"</option>");
}
if("" != productObjid){
$(productSelectObj).val(productObjid);
}
}
}
});
}
}
//형상 영역을 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 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+= " <td>";
appendText+= " <div class='delete_btn' onclick='javascript:fnc_deleteFile(\""+data[i].OBJID+"\", \"refeshAttachFileArea\")'></div>";
appendText+= " </td>";
appendText+= "</tr>";
//파일드롭다운 영역 hide
$("#"+areaId+"DropZone").hide();
//첨부파일 목록 영역 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 fileDelete(fileObjId, callbackFnc, confirmFlag){
if(confirmFlag){
fnc_deleteFile(fileObjId, callbackFnc);
}else{
$.ajax({
url:"/common/deleteFileInfo.do",
type:"POST",
data:{"objId":fileObjId},
dataType:"json",
async:true,
success:function(data){
eval(callbackFnc+"();");
},
error: function(jqxhr, status, error){
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText);
}
});
}
}
//형상 클릭 시 확대 팝업
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 onlyOneTypeCheck(type,obj){
var patternNumber = /[0-9]/;
var patternAlphabet = /^[A-Za-z]*$/;
var patternPrimeNumber1 = /^\d*[.]\d*$/; //소수점이 2개 들어가지 못하게 한다.
var patternPrimeNumber2 = /^\d{3}$/; //1000이하만 입력하도록 한다.
var patternPrimeNumber3 = /^\d*[.]\d{2}$/; //소수점 2째 자리 까지만 입력 하도록 한다.
var patternPrimeNumber4 = /^-?(\d{1,4}([.]\d{0,2})?)?$/; //소수점 2째 자리 까지만 입력 하도록 한다.
var message = "유효하지 않은 값입니다.";
if(type == "number"){
if("-" != obj.value){
for(var i=0;i<obj.value.length;i++){
var chk = obj.value.substring(i,i+1);
if(!chk.match(patternNumber)){
Swal.fire("숫자만 입력 가능합니다.");
obj.value = "";
break;
return false;
}
}
}
}else if(type == "alphabet"){
for(var i=0;i<obj.value.length;i++){
var chk = obj.value.substring(i,i+1);
if(!chk.match(patternAlphabet)){
Swal.fire("영문자만 입력 가능합니다.");
obj.value = "";
break;
return false;
}
}
}else if(type == "primeNumber"){
if("-" != obj.value){
if(!obj.value.match(patternPrimeNumber4)){
Swal.fire("정수 4자리, 소수점 2째 자리까지 입력 가능합니다.");
obj.value = "";
return false;
}
}
}
}
//재질 데이터의 입력에 따라 두께,중량의 정보를 변경한다.
function fn_changeMaterial(){
var materialVal = $("#material").val();
if("" != materialVal && "-" != materialVal){
$("#thickness").val("-");
$("#weight").val("-");
}
}
</script>
</head>
<body class="backcolor_light_blue">
<form name="hiddenForm" id="hiddenForm" method="post">
<input type="hidden" name="objid">
</form>
<form name="form1" id="form1" method="post">
<input type="hidden" name="objid" id="objid" value="${objid}">
<input type="hidden" name="isLast" id="isLast" value="${partInfoMap.IS_LAST}">
<input type="hidden" name="actionType" id="actionType" value="${actionType}">
<input type="hidden" name="status" id="status" value="${partInfoMap.STATUS}">
<section class="part_popup_min_width">
<div class="pdm_menu_name">
<h2>
<span>시작 Part 등록</span>
</h2>
</div>
<div id="partPopupFormWrap">
<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>
<input type="text" name="partNo" id="partNo" class="short_text_area" value="${partInfoMap.PART_NO}" required reqTitle="품번" maxlength="13" />
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">RH P/No.</label>
</td>
<td colspan="2">
<input type="text" name="rhPartNo" id="rhPartNo" class="text_area" value="${partInfoMap.RH_PART_NO_ORG}" required reqTitle="RH P/No." maxlength="13"/>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">품명</label>
</td>
<td colspan="5">
<input type="text" name="partName" id="partName" class="short_text_area" value="${partInfoMap.PART_NAME}" required reqTitle="품명" maxlength="32"/>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">고객사</label>
</td>
<td>
<select name="oem" id="oem" onchange="getCarList(this.value,'${partInfoMap.CAR_OBJID}')" type="select" required reqTitle="고객사">
<c:choose>
<c:when test="${empty oemList}">
<option value="">선택</option>
</c:when>
<c:otherwise>
<option value="">선택</option>
<c:forEach var="item" items="${oemList}" varStatus="varStatus">
<option value="${item.OBJID}" ${item.OBJID eq partInfoMap.OEM_OBJID ? 'selected':''}>${item.OEM_NAME} ${empty item.OEM_CODE?'':'('}${item.OEM_CODE}${empty item.OEM_CODE?'':')'}</option>
</c:forEach>
</c:otherwise>
</c:choose>
</select>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">차종</label>
</td>
<td colspan="2">
<select name="car" id="car" type="select" required reqTitle="차종"></select>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">제품군</label>
</td>
<td>
<select name="productFamily" id="productFamily" onchange="getProductList(this.value,'${partInfoMap.PRODUCT_OBJID}')" type="select" required reqTitle="제품군">
<c:choose>
<c:when test="${empty productGroupList}">
<option value="">선택</option>
</c:when>
<c:otherwise>
<option value="">선택</option>
<c:forEach var="item" items="${productGroupList}" varStatus="varStatus">
<option value="${item.OBJID}" ${item.OBJID eq partInfoMap.PRODUCT_GROUP_OBJID ? 'selected':''}>${item.PRODUCT_GROUP_NAME}</option>
</c:forEach>
</c:otherwise>
</c:choose>
</select>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">제품</label>
</td>
<td colspan="2">
<select name="product" id="product" type="select" required reqTitle="제품"></select>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">EO No.</label>
</td>
<td>
<input type="text" name="eoNo" id="eoNo" class="short_text_area" value="${partInfoMap.EO_NO_ORG}" required reqTitle="EO No" maxlength="32"/>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">EO Date</label>
</td>
<td colspan="2">
<input type="text" name="eoDate" id="eoDate" class="short_text_area" value="${partInfoMap.EO_ISSUE_DATE_ORG}" reqTitle="EO Date" maxlength="32"/>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">Rev</label>
</td>
<td>
<input type="text" name="revision" id="revision" class="short_text_area" value="${partInfoMap.REV}" required reqTitle="Rev" maxlength="9">
</td>
</tr>
<tr>
<td class="checkboxName_20px tr_title_border_bottom">
<label for="">출도구분</label>
</td>
<td>
<input type="radio" name="drawReleaseType" value="dev" ${'dev' eq partInfoMap.DRAWING_RELEASE_TYPE ? 'checked':''} reqTitle="출도구분">
<span>개발</span>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="drawReleaseType" value="product" ${'product' eq partInfoMap.DRAWING_RELEASE_TYPE ? 'checked':''}>
<span>양산</span>
</td>
<td></td>
<td class="checkboxName_10px tr_title_border_bottom">
<label for="">부품구분</label>
</td>
<td colspan="2">
<input type="radio" name="partType" value="unique" ${'unique' eq partInfoMap.PART_TYPE ? 'checked':''} reqTitle="부품구분">
<span>Unique part</span>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="partType" value="standard" ${'standard' eq partInfoMap.PART_TYPE ? 'checked':''}>
<span>표준 품</span>
</td>
</tr>
<tr>
<td class="checkboxName_20px tr_title_border_bottom">
<label for="">도면구분</label>
</td>
<td>
<input type="radio" name="drawType" value="draw" ${'draw' eq partInfoMap.DRAWING_TYPE ? 'checked':''} onclick="changeDrawArea(this.value);" required reqTitle="도면구분">
<span>D</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="drawType" value="shownOn" ${'shownOn' eq partInfoMap.DRAWING_TYPE ? 'checked':''} onclick="changeDrawArea(this.value);">
<span>S</span>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">도면번호</label>
</td>
<td colspan="2">
<input type="text" name="drawingNo" id="drawingNo" class="short_text_area" value="${empty partInfoMap.DRAWING_NO_ORG ? '':partInfoMap.DRAWING_NO_ORG}" required reqTitle="도면번호" maxlength="13" />
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">재질</label>
</td>
<td>
<!-- <select name="material" id="material" type="select" required reqTitle="재질" onchange="fn_changeMaterial();"> -->
<select name="material" id="material" type="select" reqTitle="재질">
<c:choose>
<c:when test="${empty materialList}">
<option value="">선택</option>
</c:when>
<c:otherwise>
<option value="">선택</option>
<c:forEach var="item" items="${materialList}" varStatus="varStatus">
<option value="${item.OBJID}" ${item.OBJID eq partInfoMap.MATERIAL_OBJID ? 'selected':''}>${item.MATERIAL_NAME}</option>
</c:forEach>
</c:otherwise>
</c:choose>
</select>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">두께</label>
</td>
<td colspan="2">
<input type="text" name="thickness" id="thickness" class="short_text_area" value="${partInfoMap.THICKNESS}" maxlength="5" reqTitle="두께" />
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" >
<label for="">대체재질 유무</label>
</td>
<td>
<select name="subMaterialType" id="subMaterialType" type="select" reqTitle="대체재질 유무">
<option value="">선택</option>
<option value="Y" ${'Y' eq partInfoMap.SUB_MATERIAL_TYPE ? 'selected':''}>Y</option>
<option value="N" ${'N' eq partInfoMap.SUB_MATERIAL_TYPE ? 'selected':''}>N</option>
</select>
<select name="subMaterial" id="subMaterial" type="select" reqTitle="대체재질">
<c:choose>
<c:when test="${empty materialList}">
<option value="">선택</option>
</c:when>
<c:otherwise>
<option value="">선택</option>
<c:forEach var="item" items="${materialList}" varStatus="varStatus">
<option value="${item.OBJID}" ${item.OBJID eq partInfoMap.SUB_MATERIAL_OBJID ? 'selected':''}>${item.MATERIAL_NAME}</option>
</c:forEach>
</c:otherwise>
</c:choose>
</select>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">시작공용품</label>
</td>
<td colspan="2">
<input type="radio" name="startCommonProductType" value="Y" ${'Y' eq partInfoMap.START_COMMON_PRODUCT_TYPE ? 'checked':''} required reqTitle="시작공용품">
<span>Y</span>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" name="startCommonProductType" value="N" ${'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>
<select name="materialType" id="materialType" type="select" required reqTitle="자재유형">
<c:choose>
<c:when test="${empty materialTypeList}">
<option value="">선택</option>
</c:when>
<c:otherwise>
<option value="">선택</option>
<c:forEach var="item" items="${materialTypeList}" varStatus="varStatus">
<option value="${item.OBJID}" ${item.OBJID eq partInfoMap.MATERIAL_TYPE_OBJID ? 'selected':''}>${item.MATERIAL_TYPE_NAME}</option>
</c:forEach>
</c:otherwise>
</c:choose>
</select>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">사양</label>
</td>
<td colspan="2">
<select name="optionSpec" id="optionSpec" type="select" reqTitle="사양">
<c:choose>
<c:when test="${empty optionSpecList}">
<option value="">선택</option>
</c:when>
<c:otherwise>
<option value="">선택</option>
<c:forEach var="item" items="${optionSpecList}" varStatus="varStatus">
<option value="${item.OBJID}" ${item.OBJID eq partInfoMap.PART_OPTION ? 'selected':''}>${item.OPTION_NAME}</option>
</c:forEach>
</c:otherwise>
</c:choose>
</select>
</td>
</tr>
<tr id="img_tr" >
<td class="tr_title_border_bottom">
<label for="">weight(g)</label>
</td>
<td>
<input type="text" name="weight" id="weight" class="short_text_area" value="${partInfoMap.WEIGHT}" maxlength="10" reqTitle="weight(g)" onchange="onlyOneTypeCheck('primeNumber',this)"/>
</td>
<td></td>
<td class="tr_title_border_bottom" >
<label for="">형상</label>
</td>
<td colspan="2" id="img_position_re">
<div id="shapeDropZone" class="dropzone">Drag & Drop Files Here</div>
<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" ${empty connectChangeItemInfo.changeGeometry ? '' : connectChangeItemInfo.changeGeometry} required reqTitle="기변항목">
<span class="span_margin">형상변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="materialThickChange" ${empty connectChangeItemInfo.materialThickChange ? '' : connectChangeItemInfo.materialThickChange}>
<span>재질/두께변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="cycleChange" ${empty connectChangeItemInfo.cycleChange ? '' : connectChangeItemInfo.cycleChange}>
<span>주기변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="constructChange" ${empty connectChangeItemInfo.constructChange ? '' : connectChangeItemInfo.constructChange}>
<span>구성변경</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="weldingSpot" ${empty connectChangeItemInfo.weldingSpot ? '' : connectChangeItemInfo.weldingSpot}>
<span class="span_margin_1">용접점</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="structurGlue" ${empty connectChangeItemInfo.structurGlue ? '' : connectChangeItemInfo.structurGlue}>
<span class="span_margin_2">구조용접착제</span>&nbsp;&nbsp;</br>
<input type="checkbox" name="changeItem" value="first" ${empty connectChangeItemInfo.first ? '' : connectChangeItemInfo.first}>
<span class="span_margin_3">초도</span>
<input type="checkbox" name="changeItem" value="etc" ${empty connectChangeItemInfo.etc ? '' : connectChangeItemInfo.etc}>
<span>기타</span>&nbsp;&nbsp;
<input type="checkbox" name="changeItem" value="none" ${empty connectChangeItemInfo.none ? '' : connectChangeItemInfo.none} >
<span>해당 無</span>
</td>
</tr>
<tr>
<td colspan="6" class="hr_td"><hr></td>
</tr>
<tr>
<td class="tr_title_border_bottom">
<label for="">비고</label>
</td>
<td colspan="5">
<textarea style="resize:none; height:60px;" name="remarks" id="remarks">${partInfoMap.REMARKS}</textarea>
</td>
</tr>
<tr>
<td class="tr_title_border_bottom" rowspan="2">
<label for="">DATA</label>
</td>
<td colspan="5">
<div id="dataDropZone" class="dropzone">Drag & Drop Files Here</div>
</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>
<td colspan="5">
<div id="attachDropZone" class="dropzone">Drag & Drop Files Here</div>
</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="저장" class="pdm_btns" onclick="savePart();">
<input type="button" value="닫기" id="btn_close" class="pdm_btns" onclick="javascript:self.close();">
</center>
</div>
</div>
</section>
</form>
</body>
</html>