Files
vexplor/WebContent/WEB-INF/view/part/partExcelImportPopUp.jsp
2025-08-21 09:41:46 +09:00

813 lines
32 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>
<script>
$(document).ready(function(){
fnc_datepick();
fnc_setFileDropZone("excelImportDropZone", "${OBJID}", "PART_EXCEL_IMPORT", "Part Excel Import Template", "setExcelFileArea",true,"fileDelete","/part/excelImportFileProc.do");
fnc_setFileDropZone("partAttachFileDropZone", "${OBJID}", "PART_IMPORT_ATTACH", "Import Part Attach File", "setPartFileArea",false,null,"/part/partImportFileProc.do");
fnc_setFileDropZone("dropzone", "${targetObjId}", "${FILE_DOC_TYPE_STRUCTURE_EXCEL_IMPORT_CODE}", "${FILE_DOC_TYPE_STRUCTURE_EXCEL_IMPORT_NAME}", "setUploadTemplateFile", true, "fn_preProcessor");
$("#templateDownload").click(function(){
location.href="/template/PART_EXCEL_IMPORT_TEMPLATE.xlsx";
});
//Excel File Upload된 파일 목록 부분을 초기화 한다.
$("#excelImportList").hide();
//Excel File이 Upload되지 않은 경우 파트에 대한 첨부파일 영역을 hide 한다.
$("#partAttachFileDropZone").hide();
});
function getCarList(oemName,targetCarName){
var appendText = "";
if("" != oemName || null != oemName){
$.ajax({
type : "POST",
url : "/common/getCarTypetList_combo.do",
data:{"search_oemName" : oemName, "isJson":true},
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 resultAppendText = "";
var objid = result[i].OBJID;
var carName = result[i].CAR_NAME;
var carCode = result[i].CAR_CODE;
var selectedFlag = "";
if(targetCarName == carName || targetCarName == carCode){
selectedFlag = "selected";
}
resultAppendText="<option value='"+objid+"' "+selectedFlag+">"+carName+"("+carCode+")</option>";
appendText += resultAppendText;
}
}
}
});
}
return appendText;
}
function getChangeCarList(areaObjId,oemObjId,targetCarObjId){
$("#"+areaObjId+"_car").find("option").remove();
$("#"+areaObjId+"_car").append("<option value=''>선택</option>");
if("" != oemObjId && null != oemObjId){
$.ajax({
type : "POST",
url : "/common/getCarTypetList_combo.do",
data:{"search_oemObjId" : oemObjId, "isJson":true},
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 resultAppendText = "";
var objid = result[i].OBJID;
var carName = result[i].CAR_NAME;
var carCode = result[i].CAR_CODE;
var selectedFlag = "";
if(targetCarObjId == objid){
selectedFlag = "selected";
}
resultAppendText="<option value='"+objid+"' "+selectedFlag+">"+carName+"("+carCode+")</option>";
$("#"+areaObjId+"_car").append(resultAppendText);
}
}
}
});
}
}
//제품군에 따른 제품의 목록을 가져온다.
function getProductList(productGroupName,targetProductName){
var appendText = "";
if("" != productGroupName && null != productGroupName){
$.ajax({
type : "POST",
url : "/common/getProductList_combo.do",
data:{"search_productGroupName" : productGroupName, "isJson":true},
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 resultAppendText = "";
var productName = result[i].PRODUCT_NAME;
var selectedFlag = "";
if(targetProductName == productName){
selectedFlag = "selected";
}
resultAppendText="<option value='"+result[i].OBJID+"' "+selectedFlag+">"+productName+"</option>";
appendText+=resultAppendText;
}
}
}
});
}
return appendText;
}
function getChangeProductList(areaObjId,productGroupObjId,targetProductObjId){
$("#"+areaObjId+"_product").find("option").remove();
$("#"+areaObjId+"_product").append("<option value=''>선택</option>");
if("" != productGroupObjId && null != productGroupObjId){
$.ajax({
type : "POST",
url : "/common/getProductList_combo.do",
data:{"search_productGroupObjId" : productGroupObjId, "isJson":true},
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 resultAppendText = "";
var productName = result[i].PRODUCT_NAME;
var selectedFlag = "";
if(targetProductObjId == result[i].OBJID){
selectedFlag = "selected";
}
resultAppendText="<option value='"+result[i].OBJID+"' "+selectedFlag+">"+productName+"</option>";
$("#"+areaObjId+"_product").append(resultAppendText);
}
}
}
});
}
}
//Excel 파일 업로드 후 처리함수
function setExcelFileArea(){
setUploadTemplateFile("excelImport");
}
//파트 관련 첨부파일 업로드 후 처리함수
function setPartFileArea(){
setUploadTemplateFile("partAttachFile");
}
//템플릿 업로드 후 처리
function setUploadTemplateFile(type){
var docType = "";
var deleteCallBackFN = "";
if(type == "excelImport"){
docType = "PART_EXCEL_IMPORT";
deleteCallBackFN = "excelFileDelete";
}else{
$("#partAttachFileArea").empty();
docType = "PART_IMPORT_ATTACH";
deleteCallBackFN = "setPartFileArea";
}
$.ajax({
url:"/common/getFileList.do",
type:"POST",
data:{"targetObjId":"${OBJID}", "docType":docType},
dataType:"json",
async:false,
success:function(data){
if(null != data && 0 < data.length){
if("PART_IMPORT_ATTACH" == docType){
$("#defaultPartAttachFileRow").hide();
}
$("#"+type+"List").show();
}
$.each(data, function(i){
var s = "<tr>";
if("PART_IMPORT_ATTACH" == docType){
s += "<td>"+(i+1)+"</td>";
}
s += "<td><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>"+data[i].REAL_FILE_NAME+"</a></td>";
s += "<td>"+data[i].FILE_SIZE+"</td>";
s += "<td><div class='delete_btn' onclick='javascript:fnc_deleteFile(\""+data[i].OBJID+"\", \""+deleteCallBackFN+"\")'></div></td>";
s += "</tr>";
$("#"+type+"Area").append(s);
});
if(type == "excelImport"){
parsingExcelFile();
}
},
error: function(jqxhr, status, error){
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText);
}
});
}
function excelFileDelete(){
$("#excelImportArea").empty();
$("#excelImportList").hide();
$("#parsingPartList").empty();
$("#defaultExcelTemplateRow").show();
}
//Excel 파일 업로드에 따른 파트 첨부파일 영역 DISPLAY
function displayPartFileInfo(flag){
if(flag == "true"){
$("#partAttachFileDropZone").show();
$("#partAttachFileArea").empty();
$("#defaultPartAttachFileRow").show();
}else{
$("#partAttachFileDropZone").show();
$("#partAttachFileArea").empty();
$("#partAttachFileList").hide();
}
}
var duplicateCount = 0;
function parsingExcelFile(){
$.ajax({
url:"/part/parsingExcelFile.do",
type:"POST",
data:{"targetObjId":"${OBJID}", "docType":"PART_EXCEL_IMPORT"},
dataType:"json",
async:false,
success:function(data){
if(null != data){
if(0 < data.length){
$("#defaultExcelTemplateRow").hide();
for(var i=0;i<data.length;i++){
var appendText = "";
var validateCnt = 0;
var partDuplicate = fnc_checkNull(data[i].partDuplicate);
var rhPartValidate = fnc_checkNull(data[i].rhPartNoValidate);
var drawingNoValidate = fnc_checkNull(data[i].drawingNoValidate);
var drawType = fnc_checkNull(data[i].drawType);
var rowTitle = "";
if(partDuplicate != 0){
rowTitle+="*이미 기등록된 파트 No, Rev 입니다.\n";
validateCnt++;
}
if(rhPartValidate == "duplicatePart"){
rowTitle+="* 해당 RH Part/No, Rev은 유효하지 않은 Part No, Rev 입니다.\n";
validateCnt++;
}
if(rhPartValidate == "empty"){
rowTitle+="* RH Part/No, Rev에 해당하는 파트가 존재하지 않습니다.\n";
validateCnt++;
}
if(drawingNoValidate == "duplicatePart" && drawType == "S"){
rowTitle+="* 해당 도면번호, Rev은 유효하지 않은 Part No, Rev 입니다.\n";
validateCnt++;
}
if(drawingNoValidate == "empty" && drawType == "S"){
rowTitle+="* 해당 도면번호, Rev에 해당하는 파트정보가 존재하지 않습니다.\n";
validateCnt++;
}
var rowCss = "";
if(validateCnt != 0){
rowCss = "bgColor='red' style='cursor:help;'";
}
appendText+="<tr title='"+rowTitle+"' "+rowCss+">";
appendText+=" <td rowspan='2'>"+(i+1)+"</td>";
appendText+=" <input type='hidden' name='partObjId' value='"+data[i].objId+"'>";
appendText+=" <td rowspan='2'>"+data[i].partNo+"</td>";
appendText+=" <input type='hidden' name='"+data[i].objId+"_partNo' id='"+data[i].objId+"_partNo' value='"+data[i].partNo+"'>";
appendText+=" <td rowspan='2'>"+data[i].rhPartNo+"</td>";
appendText+=" <input type='hidden' name='"+data[i].objId+"_rhPartObjId' id='"+data[i].objId+"_rhPartObjId' value='"+fnc_checkNull(data[i].rhPartObjId)+"'>";
appendText+=" <td rowspan='2'>"+data[i].rhPartNoRev+"</td>";
appendText+=" <td rowspan='2'>"+data[i].partName+"</td>";
appendText+=" <input type='hidden' name='"+data[i].objId+"_partName' id='"+data[i].objId+"_partName' value='"+data[i].partName+"'>";
appendText+=" <td rowspan='2'>";
appendText+=" <select name='"+data[i].objId+"_oem' id='"+data[i].objId+"_oem' onchange=\"getChangeCarList('"+data[i].objId+"',this.value,'')\">";
appendText+=" <option value=''>선택</option>";
<c:forEach items="${oemList}" var="item">
var selectFlag = "";
if(data[i].oemName == "${item.OEM_NAME}"){
selectFlag = "selected";
}
appendText+=" <option value='${item.OBJID}'";
appendText+=selectFlag;
appendText+=" >${item.OEM_NAME}</option>";
</c:forEach>
appendText+=" </select>";
appendText+=" </td>";
/* 차종영역 */
appendText+=" <td rowspan='2'> ";
appendText+=" <select name='"+data[i].objId+"_car' id='"+data[i].objId+"_car'>";
appendText+=" <option value=''>선택</option>";
appendText+= getCarList(data[i].oemName,data[i].carName);
appendText+=" </select>";
appendText+=" </td>";
/* 제품군 */
appendText+=" <td rowspan='2'>";
appendText+=" <select name='"+data[i].objId+"_productGroup' onchange=\"getChangeProductList('"+data[i].objId+"',this.value,'')\">";
appendText+=" <option value=''>선택</option>";
<c:forEach items="${productGroupList}" var="item">
var selectFlag = "";
if(data[i].productGroupName == "${item.PRODUCT_GROUP_NAME}"){
selectFlag = "selected";
}
appendText+=" <option value='${item.OBJID}'";
appendText+=selectFlag;
appendText+=" >${item.PRODUCT_GROUP_NAME}</option>";
</c:forEach>
appendText+=" </select>";
appendText+=" </td>";
/* 제품영역 */
appendText+=" <td rowspan='2'> ";
appendText+=" <select name='"+data[i].objId+"_product' id='"+data[i].objId+"_product'>";
appendText+=" <option value=''>선택</option>";
appendText+= getProductList(data[i].productGroupName,data[i].productName);
appendText+=" </select>";
appendText+=" </td>";
/* Rev Code */
appendText+=" <td rowspan='2'>"+data[i].rev+"</td> ";
appendText+=" <input type='hidden' name='"+data[i].objId+"_revCode' value='"+data[i].rev+"'>";
/* 출도구분 */
appendText+=" <td rowspan='2'>";
appendText+=" <input type='radio' name='"+data[i].objId+"_drawReleaseType' value='dev' ";
if("개발" == data[i].drawReleaseType){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>개발</span>&nbsp;&nbsp;";
appendText+=" <input type='radio' name='"+data[i].objId+"_drawReleaseType' value='product' ";
if("양산" == data[i].drawReleaseType){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>양산</span>";
appendText+=" </td> ";
/* 부품구분 */
appendText+=" <td rowspan='2'>";
appendText+=" <input type='radio' name='"+data[i].objId+"_partType' value='unique' ";
if("Unique part" == data[i].partType){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>Unique part</span>&nbsp;&nbsp;&nbsp;&nbsp";
appendText+=" <input type='radio' name='"+data[i].objId+"_partType' value='standard' "
if("표준 품" == data[i].partType){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>표준 품</span>";
appendText+=" </td> ";
/* 도면구분 */
appendText+=" <td rowspan='2'>";
appendText+=" <input type='radio' name='"+data[i].objId+"_drawType' value='draw' ";
if("D" == data[i].drawType){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>D</span>&nbsp;&nbsp;";
appendText+=" <input type='radio' name='"+data[i].objId+"_drawType' value='shownOn' ";
if("S" == data[i].drawType){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>S</span>";
appendText+=" </td> ";
/* 도면번호 */
appendText+=" <td rowspan='2'>"+data[i].drawingNo+"</td>";
appendText+=" <input type='hidden' name='"+data[i].objId+"_drawingNo' id='"+data[i].objId+"_drawingNo' value='"+fnc_checkNull(data[i].drawingNo)+"'>";
appendText+=" <input type='hidden' name='"+data[i].objId+"_drawingNoObjId' id='"+data[i].objId+"_drawingNoObjId' value='"+fnc_checkNull(data[i].drawingNoObjId)+"'>";
/* 도면번호 Rev*/
appendText+=" <td rowspan='2'>"+data[i].drawingNoRev+"</td>";
/* 재질 */
appendText+=" <td rowspan='2'>";
appendText+=" <select name='"+data[i].objId+"_material' id='"+data[i].objId+"_material'>";
appendText+=" <option value=''>선택</option>";
<c:forEach items="${materialList}" var="item">
var selectFlag = "";
if(data[i].material == "${item.MATERIAL_NAME}"){
selectFlag = "selected";
}
appendText+=" <option value='${item.OBJID}'";
appendText+=selectFlag;
appendText+=" >${item.MATERIAL_NAME}</option>";
</c:forEach>
appendText+=" </select>";
appendText+=" </td>";
/* 사양 */
appendText+=" <td rowspan='2'>";
appendText+=" <select name='"+data[i].objId+"_optionSpec' id='"+data[i].objId+"_optionSpec'>";
appendText+=" <option value=''>선택</option>";
<c:forEach items="${optionSpecList}" var="item">
var selectFlag = "";
if(data[i].optionSpec == "${item.OPTION_NAME}"){
selectFlag = "selected";
}
appendText+=" <option value='${item.OBJID}'";
appendText+=selectFlag;
appendText+=" >${item.OPTION_NAME}</option>";
</c:forEach>
appendText+=" </select>";
appendText+=" </td>";
/* 자제유형 */
appendText+=" <td rowspan='2'>";
appendText+=" <select name='"+data[i].objId+"_materialType' id='"+data[i].objId+"_materialType'>";
appendText+=" <option value=''>선택</option>";
<c:forEach items="${materialTypeList}" var="item">
var selectFlag = "";
if(data[i].materialType == "${item.MATERIAL_TYPE_NAME}"){
selectFlag = "selected";
}
appendText+=" <option value='${item.OBJID}'";
appendText+=selectFlag;
appendText+=" >${item.MATERIAL_TYPE_NAME}</option>";
</c:forEach>
appendText+=" </select>";
appendText+=" </td>";
/* 두께 */
appendText+=" <td rowspan='2'><input type='text' name='"+data[i].objId+"_thickness' value='"+data[i].thickness+"'></td>";
/* weight */
appendText+=" <td rowspan='2'><input type='text' name='"+data[i].objId+"_weight' value='"+data[i].weight+"'></td>";
/* 기변항목 */
appendText+=" <td rowspan='2'>";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='changeGeometry' ";
if("Y" == data[i].changeGeometry){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>형상변경</span>&nbsp;&nbsp;";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='materialThickChange' ";
if("Y" == data[i].materialThickChange){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>재질/두께변경</span>&nbsp;&nbsp;";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='cycleChange' ";
if("Y" == data[i].cycleChange){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>주기변경</span>&nbsp;&nbsp;";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='constructChange' ";
if("Y" == data[i].constructChange){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>구성변경</span><br>";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='weldingSpot' ";
if("Y" == data[i].weldingSpot){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>용접점</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='structurGlue' ";
if("Y" == data[i].structurGlue){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>구조용접착제</span>&nbsp;&nbsp;&nbsp;&nbsp;";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='first' ";
if("Y" == data[i].first){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>초도</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
appendText+=" <input type='checkbox' name='"+data[i].objId+"_changeItem' value='etc' "
if("Y" == data[i].etc){
appendText+=" checked ";
}
appendText+=">";
appendText+=" <span>기타</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
appendText+=" </td> ";
/* 설계적용시점 */
appendText+=" <td rowspan='2'>";
appendText+=" <select name='"+data[i].objId+"_applyPointType' id='"+data[i].objId+"_applyPointType'>";
appendText+=" <option value=''>선택</option>";
<c:forEach items="${applyPointList}" var="item">
var selectFlag = "";
if(data[i].applyPointType == "${item.APPLY_POINT_NAME}"){
selectFlag = "selected";
}
appendText+=" <option value='${item.OBJID}'";
appendText+=selectFlag;
appendText+=" >${item.APPLY_POINT_NAME}</option>";
</c:forEach>
appendText+=" </select>";
appendText+=" </td>";
appendText+="</tr> ";
//파싱 결과 문구 표시 부분
appendText+="<tr> ";
appendText+="</tr> ";
$("#parsingPartList").append(appendText);
duplicateCount += validateCnt;
}
//parsing 된 파트정보가 있을 경우 파트 일괄 첨부영역을 보여준다.
$("#partAttachFileDropZone").show();
}
}
},
error: function(jqxhr, status, error){
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText);
}
});
}
function savePart(){
if(0 < $("input[name='partObjId']").length){
var cnt = 0;
$("input[name='partObjId']").each(function(idx){
var targetObjId = $(this).val();
if(!partImportValidation(targetObjId)){
cnt++;
return false;
}
if(cnt == 0){
$("input[name='partObjId']").each(function(idx){
var otherObjId = $(this).val();
if(otherObjId != targetObjId){
if($("#"+otherObjId+"_partNo").val() == $("#"+targetObjId+"_partNo").val()){
Swal.fire("문서내 중복되는 Part No가 존재 합니다.("+$("#"+otherObjId+"_partNo").val()+","+$("#"+targetObjId+"_partNo").val()+")");
cnt++;
return false;
}
}
});
}
});
if(duplicateCount > 0){
Swal.fire("등록 불가한 품번이 있어 저장할 수 없습니다.");
return false;
}
if(0 == cnt){
if(confirm("해당파트 정보를 저장하시겠습니까?")){
var param = $("#form1").serialize();
$.ajax({
type : "POST",
url : "/part/saveExcelUploadPart.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();
}
}
});
}
}
}else{
Swal.fire("저장할 정보가 없습니다.");
}
}
function partImportValidation(targetObjId){
if("" != targetObjId && null != targetObjId){
if("" == fnc_checkNull($("#"+targetObjId+"_partNo").val())){
Swal.fire("작성된 품번이 없습니다.");
$("#"+targetObjId+"_partNo").focus();
return false;
}
if("" == fnc_checkNull($("#"+targetObjId+"_partName").val())){
Swal.fire("작성된 품명이 없습니다.");
$("#"+targetObjId+"_partName").focus();
return false;
}
var drawType = $("input:radio[name="+targetObjId+"_drawType]:checked").val();
if("shownOn" == fnc_checkNull(drawType) ){
if("" == fnc_checkNull($("#"+targetObjId+"_drawingNoObjId").val()) && "-" != $("#"+targetObjId+"_drawingNo").val()){
Swal.fire("도면번호/Rev가 비어있거나 등록되지 않은 Part 입니다.");
$("#"+targetObjId+"_drawingNo").focus();
return false;
}
}
}
return true;
}
//파일을 삭제한다.
//Excel 파일 삭제 시 파트 첨부파일도 모두 삭제한다.
function fileDelete(){
if(confirm("Excel 파일을 변경하시겠습니까? 이미 Part 첨부파일이 첨부된 경우 파일은 삭제됩니다.")){
$.ajax({
url:"/common/deleteFileInfo.do",
type:"POST",
data:{"targetObjId":"${OBJID}"},
dataType:"json",
async:true,
success:function(data){
excelFileDelete();
},
error: function(jqxhr, status, error){
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
Swal.fire(jqxhr.status);
Swal.fire(jqxhr.responseText);
}
});
}
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="importPopObjid" id="importPopObjid" value="${OBJID}">
<section>
<div class="pdm_menu_name_sc">
<h2>
<span>Part 등록</span>
</h2>
</div>
<div style="width:98%; margin: 0 auto;">
<div id="partExcelPopupFormWrap">
<div class="form_popup_title" style="position:relative;">&nbsp;&nbsp;&nbsp;Excel upload<img src="/images/btnExcel.png" style="position:absolute; top:9px; right:135px;"/><span style="position:absolute; top:0px; right:10px; cursor:pointer;" id="templateDownload">Template Download</span></div>
<div id="excelUploadPopupForm">
<div class="fileDnDWrap">
<div id="excelImportDropZone" class="dropzone" style="height:50px;">Drag & Drop 엑셀 템플릿</div>
<div id="excelImportList">
<table id="excelImportTable" class="excelUploadPopupForm">
<thead>
<tr><td colspan="3">Excel 첨부파일</td></tr>
</thead>
<tbody id="excelImportArea">
</tbody>
</table>
</div>
</div>
<div class="fileDnDWrap">
<div id="partAttachFileDropZone" class="dropzone" style="height:50px;">Drag & Drop 파트 첨부파일</div>
<div id="partAttachFileList">
<table id="partAttachFileTable" class="excelUploadPopupForm">
<thead>
<tr><td colspan="4">Part 첨부파일</td></tr>
</thead>
<tr id="defaultPartAttachFileRow">
<td colspan="4">첨부된 파일이 없습니다.</td>
</tr>
<tbody id="partAttachFileArea">
</tbody>
</table>
</div>
</div>
<div class="part_x_scroll">
<table id="excelUploadPopupTable">
<colgroup>
<col width="1.5%"/>
<col width="4%"/>
<col width="4%"/>
<col width="4%"/>
<col width="10%"/>
<col width="4%"/>
<col width="4%"/>
<col width="7%"/>
<col width="5%"/>
<col width="2%"/>
<col width="4%"/>
<col width="7%"/>
<col width="3%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="3%"/>
<col width="2%"/>
<col width="3%"/>
<col width="13%"/>
<col width="4%"/>
</colgroup>
<thead>
<tr>
<td>No</td>
<td>품번</td>
<td>RH P/No</td>
<td>RH P/No Rev</td>
<td>품명</td>
<td>고객사</td>
<td>차종</td>
<td>제품군</td>
<td>제품</td>
<td>Rev</td>
<td>출도구분</td>
<td>부품구분</td>
<td>도면구분</td>
<td>도면번호</td>
<td>도면번호 Rev</td>
<td>재질</td>
<td>사양</td>
<td>자재유형</td>
<td>두께</td>
<td>weight(g)</td>
<td>기변항목</td>
<td>설계적용시점</td>
</tr>
</thead>
</table>
<div class="part_y_scroll">
<table class="partExcelScrollTable">
<colgroup>
<col width="1.5%"/>
<col width="4%"/>
<col width="4%"/>
<col width="4%"/>
<col width="10%"/>
<col width="4%"/>
<col width="4%"/>
<col width="7%"/>
<col width="5%"/>
<col width="2%"/>
<col width="4%"/>
<col width="7%"/>
<col width="3%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="3%"/>
<col width="2%"/>
<col width="3%"/>
<col width="13%"/>
<col width="4%"/>
</colgroup>
<tr id="defaultExcelTemplateRow">
<td colspan="22">유효한 데이터가 없습니다.</td>
</tr>
<tbody id="parsingPartList">
</tbody>
</table>
</div>
</div>
<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>
</div>
</div>
</section>
</form>
</body>
</html>