787 lines
26 KiB
Plaintext
787 lines
26 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="categoryHighObjid" value="${categoryDataSet.CATEGORY_HIGH_OBJID}" />
|
|
<c:set var="categoryParentObjid" value="${categoryDataSet.PARENT_OBJID}" />
|
|
<c:set var="categoryObjid" value="${categoryDataSet.OBJID}" />
|
|
<c:set var="categoryInputType" value="${empty categoryDataSet.SPEC_INPUT_TYPE ? '' : categoryDataSet.SPEC_INPUT_TYPE}" />
|
|
<c:set var="objid" value="${empty param.objid ? newObjid : 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.DESCRIPTION ? '': categoryInfo.DESCRIPTION}" />
|
|
<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(){
|
|
|
|
fnc_datepick();
|
|
|
|
fnc_setFileDropZone("dropzone", "${objid}", "DOC_SPEC", "기술자료 첨부파일", "fn_fileCallback",false);
|
|
|
|
// $("#grade").attr("disabled",true);
|
|
$("#step").attr("disabled",true);
|
|
$("#specNo").attr("disabled",true);
|
|
|
|
$(".specChange").hide();
|
|
|
|
/* 대,중,소 분류 목록 select 및 selected*/
|
|
if("${!empty categoryHighObjid}"){
|
|
getSpecCategoryList('categoryHigh','',"${categoryInfo.ROOT_OBJID}",'high');
|
|
|
|
//getSpecCategoryList("categoryHigh","${categoryHighObjid}","","high");
|
|
getSpecCategoryList("categoryMid","${categoryParentObjid}","${categoryHighObjid}","mid");
|
|
getSpecCategoryList("categoryLow","${categoryObjid}","${categoryParentObjid}","low");
|
|
|
|
|
|
$("#categoryHigh").val("${categoryHighObjid}");
|
|
|
|
specTypeInputArea("${categoryInputType}");
|
|
changeInputArea("categoryLow");
|
|
}else{
|
|
getSpecCategoryList("categoryHigh","","","high");
|
|
}
|
|
|
|
//select box 영역의 정보를 가져온다.
|
|
getOEMList("oem","${oemObjid}");
|
|
getOEMList("compete","${competeObjid}");
|
|
getProductFamilyList("${productGroupObjid}");
|
|
getProductList("${productGroupObjid}","${productObjid}");
|
|
getCarList("${oemObjid}","${carObjid}");
|
|
getCarGradeList("","${gradeObjid}",false);
|
|
|
|
getTransSpecDataList("from");
|
|
getTransSpecDataList("to");
|
|
|
|
|
|
//첨부파일 목록을 가져온다.
|
|
fn_fileCallback();
|
|
});
|
|
//해당 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 getSpecCategoryList(targetId,targetObjid,parentObjid,categoryLevel){
|
|
getSpecCategoryChangeList(targetId);
|
|
if("root" != categoryLevel && "" == parentObjid){
|
|
return false;
|
|
}
|
|
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/admin/getCategoryTypeList.do",
|
|
data:{ "categoryType" : categoryLevel, "categoryStatus" : "active", "parentObjid" : parentObjid},
|
|
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){
|
|
getSpecCategoryChangeList(targetId);
|
|
if(null != result){
|
|
for(var i=0;i<result.length;i++){
|
|
var objid = result[i].OBJID;
|
|
var categoryName = result[i].CATEGORY_NAME;
|
|
var specInputType = result[i].SPEC_INPUT_TYPE;
|
|
var carFlag = result[i].USE_CAR;
|
|
var productFlag = result[i].USE_PRODUCT;
|
|
var revisionFlag = result[i].USE_REVISION;
|
|
var changeFlag = result[i].USE_DOC_LINK;
|
|
var compatitionFlag = result[i].USE_COMPATITION_CAR;
|
|
var productGroupFlag = result[i].USE_PRODUCT_GROUP;
|
|
|
|
var optionAppendVal = "<option"
|
|
optionAppendVal+= " value='"+objid+"'";
|
|
|
|
if("low" == categoryLevel){
|
|
optionAppendVal+= " specInputType='"+specInputType+"'";
|
|
optionAppendVal+= " carFlag='"+carFlag+"'";
|
|
optionAppendVal+= " productFlag='"+productFlag+"'";
|
|
optionAppendVal+= " revisionFlag='"+revisionFlag+"'";
|
|
optionAppendVal+= " changeFlag='"+changeFlag+"'";
|
|
optionAppendVal+= " compatitionFlag='"+compatitionFlag+"'";
|
|
optionAppendVal+= " productGroupFlag='"+productGroupFlag+"'";
|
|
}
|
|
optionAppendVal+= ">";
|
|
optionAppendVal+= categoryName;
|
|
optionAppendVal+= "</option>";
|
|
$("#"+targetId).append(optionAppendVal);
|
|
|
|
}
|
|
if("" != targetObjid){
|
|
$("#"+targetId).val(targetObjid);
|
|
}
|
|
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
//고객사 정보를 가져온다.
|
|
function getOEMList(targetAreaId,targetObjid){
|
|
|
|
var oemSelectObj = $("#"+targetAreaId);
|
|
$(oemSelectObj).find("option").remove();
|
|
$(oemSelectObj).append("<option value=''>선택</option>");
|
|
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/getOEMList.do",
|
|
data:{ "searchStatus" : "active"},
|
|
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 oemName = result[i].OEM_NAME;
|
|
$(oemSelectObj).append("<option value='"+objid+"'>"+oemName+"</option>");
|
|
}
|
|
if("" != targetObjid){
|
|
$(oemSelectObj).val(targetObjid);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
//고객사에 따른 차종의 목록을 가져온다. HED: 추후개발(박성룡 사원 기능 개발 후 추가)
|
|
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+"'>"+carName+"</option>");
|
|
}
|
|
if("" != carObjid){
|
|
$(carSelectObj).val(carObjid);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//제품군 목록을 가져온다.
|
|
function getProductFamilyList(productFamilyObjid){
|
|
var productFamilySelectObj = $("#productFamily");
|
|
$(productFamilySelectObj).find("option").remove();
|
|
$(productFamilySelectObj).append("<option value=''>선택</option>");
|
|
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/getProductFamilyList.do",
|
|
data:{ "status" : "active"},
|
|
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++){
|
|
$(productFamilySelectObj).append("<option value='"+result[i].OBJID+"'>"+result[i].PRODUCT_GROUP_NAME+"</option>");
|
|
}
|
|
if("" != productFamilyObjid){
|
|
$(productFamilySelectObj).val(productFamilyObjid);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
//제품군에 따른 제품의 목록을 가져온다.
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//차량의 등급목록을 가져온다.
|
|
//requiredFlag가 false일 경우 차종objid가 없어도 차종등급 목록을 가져오도록한다.
|
|
function getCarGradeList(carObjid, gradeObjid, requiredFlag){
|
|
var gradeSelectObj = $("#grade");
|
|
$(gradeSelectObj).find("option").remove();
|
|
$(gradeSelectObj).append("<option value=''>선택</option>");
|
|
|
|
if(requiredFlag){
|
|
if("" == carObjid || null == carObjid){
|
|
return false;
|
|
}
|
|
}
|
|
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/admin/getCarGradeList.do",
|
|
data:{ "status" : "active"},
|
|
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++){
|
|
$(gradeSelectObj).append("<option value='"+result[i].OBJID+"'>"+result[i].GRADE_NAME+"</option>");
|
|
}
|
|
if("" != gradeObjid){
|
|
$(gradeSelectObj).val(gradeObjid);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
//카테고리 분류들을 초기화 시킨다.
|
|
function getSpecCategoryChangeList(targetId){
|
|
if("categoryHigh" == targetId){
|
|
$("#categoryHigh>option").remove();
|
|
$("#categoryHigh").append("<option value=''>선택</option>");
|
|
$("#categoryMid>option").remove();
|
|
$("#categoryMid").append("<option value=''>선택</option>");
|
|
$("#categoryLow>option").remove();
|
|
$("#categoryLow").append("<option value=''>선택</option>");
|
|
}else if("categoryMid" == targetId){
|
|
$("#categoryMid>option").remove();
|
|
$("#categoryMid").append("<option value=''>선택</option>");
|
|
$("#categoryLow>option").remove();
|
|
$("#categoryLow").append("<option value=''>선택</option>");
|
|
}else if("categoryLow" == targetId){
|
|
$("#categoryLow>option").remove();
|
|
$("#categoryLow").append("<option value=''>선택</option>");
|
|
}
|
|
}
|
|
|
|
//기술자료를 등록한다.
|
|
function save(){
|
|
if(fnc_valitate("form1")){
|
|
var flag = true;
|
|
var duplicateType = "";
|
|
if("regist" == $("#actionType").val()){
|
|
|
|
var checkType = $("#categoryLow option:selected").attr("specInputType");
|
|
|
|
var param = "";
|
|
if("SPEC" == checkType){
|
|
param = {"search_specNo": $("#specNo").val(), "categoryObjid":$("#categoryLow").val()}
|
|
duplicateType = $("#specNo").attr("reqTitle");
|
|
}else{
|
|
param = {"search_docName": $("#docName").val(), "categoryObjid":$("#categoryLow").val()}
|
|
duplicateType = $("#docName").attr("reqTitle");
|
|
}
|
|
|
|
console.log("save(checkType):"+checkType);
|
|
console.log("save(param):"+param);
|
|
console.log("save(duplicateType):"+duplicateType);
|
|
|
|
|
|
flag = duplicateDataCheck(param,checkType);
|
|
}
|
|
if(flag){
|
|
$("#categoryObjid").val($("#categoryLow").val());
|
|
var param = $("#form1").serialize();
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/saveSpecData.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("이미 사용중인 "+duplicateType+" 입니다.");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
function duplicateDataCheck(param,type){
|
|
|
|
console.log("duplicateDataCheck(param):"+param);
|
|
console.log("duplicateDataCheck(type):"+type);
|
|
|
|
var duplicateFalg = false;
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/duplicateDataCheck.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){
|
|
|
|
console.log("duplicateDataCheck(result):"+result);
|
|
|
|
if(null != result){
|
|
|
|
if("SPEC" == type){
|
|
var specNo = result.SPEC_NO;
|
|
|
|
console.log("duplicateDataCheck(specNo):"+specNo);
|
|
|
|
if(null == specNo){
|
|
duplicateFalg = true;
|
|
}else{
|
|
if(specNo == $("#specNo").val()){
|
|
duplicateFalg = false;
|
|
}else{
|
|
duplicateFalg = true;
|
|
}
|
|
}
|
|
|
|
}else{
|
|
var docName = result.DOC_NAME;
|
|
|
|
console.log("duplicateDataCheck(docName):"+docName);
|
|
|
|
if(null == docName){
|
|
duplicateFalg = true;
|
|
}else{
|
|
if(docName == $("#docName").val()){
|
|
duplicateFalg = false;
|
|
}else{
|
|
duplicateFalg = true;
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
duplicateFalg = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
return duplicateFalg;
|
|
|
|
}
|
|
|
|
//소분류 선택에 따른 입력부분을 변경한다.
|
|
function changeInputArea(areaId){
|
|
|
|
var selectObject = document.getElementById(areaId);
|
|
|
|
var type = "";
|
|
if(0 < selectObject.length){
|
|
for(var i=0;i<selectObject.length;i++){
|
|
if(selectObject[i].selected){
|
|
type = $(selectObject[i]).attr("specInputType");
|
|
|
|
$("#specNo").attr("disabled",true);
|
|
$("#specNo").removeAttr("required");
|
|
|
|
if("benchMarking" == type){
|
|
// $("#grade").attr("disabled",false);
|
|
}else if("designStandard" == type){
|
|
$(".specChange").hide();
|
|
$(".description").show();
|
|
}else if("designVerifi" == type){
|
|
$("#step").attr("disabled",false);
|
|
}else if("SPEC" == type){
|
|
$("#specNo").attr("disabled",false);
|
|
$("#specNo").attr("required",'');
|
|
$(".specChange").show();
|
|
$(".description").hide();
|
|
}
|
|
|
|
if("apply" != $(selectObject[i]).attr("carFlag")){
|
|
$("#oem").attr("disabled",true);
|
|
$("#car").attr("disabled",true);
|
|
}
|
|
|
|
if("apply" != $(selectObject[i]).attr("compatitionFlag")){
|
|
$("#compete").attr("disabled",true);
|
|
$("#compatitionCar").attr("disabled",true);
|
|
}
|
|
|
|
if("apply" != $(selectObject[i]).attr("productGroupFlag")){
|
|
$("#productFamily").attr("disabled",true);
|
|
}
|
|
|
|
if("apply" != $(selectObject[i]).attr("productFlag")){
|
|
$("#product").attr("disabled",true);
|
|
}
|
|
|
|
break;
|
|
}else{
|
|
$("#specNo").attr("disabled",true);
|
|
$("#productFamily").attr("disabled",false);
|
|
$("#product").attr("disabled",false);
|
|
// $("#grade").attr("disabled",true);
|
|
$(".specChange").hide();
|
|
$(".description").show();
|
|
$("#step").attr("disabled",true);
|
|
$("#oem").attr("disabled",false);
|
|
$("#car").attr("disabled",false);
|
|
$("#compete").attr("disabled",false);
|
|
$("#compatitionCar").attr("disabled",false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
function specTypeInputArea(type){
|
|
if("benchMarking" == type){
|
|
// $("#grade").attr("disabled",false);
|
|
}else if("designStandard" == type){
|
|
|
|
}else if("designVerifi" == type){
|
|
$("#step").attr("disabled",false);
|
|
}else if("SPEC" == type){
|
|
$(".specChange").show();
|
|
$(".description").hide();
|
|
}
|
|
}
|
|
|
|
//치환등록 팝업 호출
|
|
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 changeSpecData(specDataObjid){
|
|
window.open("",specDataObjid,"width=900 height=900 menubar=no status=no");
|
|
|
|
var hiddenForm = document.hiddenForm;
|
|
hiddenForm.objid.value = specDataObjid;
|
|
hiddenForm.target = specDataObjid;
|
|
hiddenForm.action = "/specData/specDataFormPopup.do";
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
//영역별(From, To)스펙 치환문서 목록을 가져온다.
|
|
function getTransSpecDataList(type){
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/specData/getTransSpecDataList.do",
|
|
data:{"objid":"${param.objid}","type":type},
|
|
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";
|
|
}else if("to" == type){
|
|
targetArea = "transSpecDataTo";
|
|
}
|
|
$("#"+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);
|
|
}
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
function fn_fileCallback(){
|
|
$.ajax({
|
|
url:"/common/getFileList.do",
|
|
type:"POST",
|
|
data:{"targetObjId":"${objid}", "docType":"DOC_SPEC"},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
$("#uploadedFileArea").empty();
|
|
if(0 < data.length){
|
|
//첨부파일 목록 영역 show
|
|
$(".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><div class='delete_btn' onclick='javascript:fnc_deleteFile(\""+data[i].OBJID+"\", \"fn_fileCallback\")'></div></td>";
|
|
appendText+= "</tr>";
|
|
|
|
$("#uploadedFileArea").append(appendText);
|
|
});
|
|
}else{
|
|
$(".defaultRow").show();
|
|
}
|
|
},
|
|
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 url = "/specData/specDataDetailViewPopup.do";
|
|
var target = objid;
|
|
var actionType = "";
|
|
|
|
window.open("",target,"width=900 height=780 menubar=no status=no");
|
|
|
|
hiddenForm.objid.value = objid;
|
|
hiddenForm.target = target;
|
|
hiddenForm.action = url;
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body class="backcolor_light_blue">
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="objid" id="objid">
|
|
</form>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="objid" id="objid" value="${objid}">
|
|
<input type="hidden" name="actionType" id="actionType" value="${actionType}">
|
|
<input type="hidden" name="categoryObjid" id="categoryObjid">
|
|
<input type="hidden" name="isLast" id="isLast" value="${categoryInfo.IS_LAST}">
|
|
<input type="hidden" name="" id="isLast" value="${categoryInfo.IS_LAST}">
|
|
<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="">구분</label>
|
|
</td>
|
|
<td>
|
|
<select name="root_cd" id="root_cd" onchange="javascript:getSpecCategoryList('categoryHigh','',this.value,'high');" required type="select" reqTitle="구분" >
|
|
<option value="">선택</option>
|
|
${code_map.root_cd}
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">대분류</label>
|
|
</td>
|
|
<td>
|
|
<select name="categoryHigh" id="categoryHigh" onchange="javascript:getSpecCategoryList('categoryMid','',this.value,'mid');" required type="select" reqTitle="대분류"></select>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">중분류</label>
|
|
</td>
|
|
<td>
|
|
<select name="categoryMid" id="categoryMid" onchange="javascript:getSpecCategoryList('categoryLow','',this.value,'low');" required type="select" reqTitle="중분류"></select>
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">소분류</label>
|
|
</td>
|
|
<td>
|
|
<select name="categoryLow" id="categoryLow" onchange="javascript:changeInputArea('categoryLow');" required type="select" reqTitle="소분류"></select>
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">문서명</label>
|
|
</td>
|
|
<td colspan="3">
|
|
<input type="text" class="short_text_area" name="docName" id="docName" value="${docName}" required reqTitle="문서명">
|
|
</td>
|
|
|
|
<td class="input_title">
|
|
<label for="">문서번호</label>
|
|
</td>
|
|
<td>
|
|
<p>${docNo}</p> <input type="hidden" name="docNo" id="docNo" value="${docNo}">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">Rev</label>
|
|
</td>
|
|
<td>
|
|
<p>${rev}</p><input type="hidden" name="revision" id="revision" value="${rev}">
|
|
</td>
|
|
</tr>
|
|
<tr class="description">
|
|
<td class="input_title">
|
|
<label for="">내용</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<textarea style="width:99%; border:1px solid #ccc;" name="description" id="description" placeholder="내용을 입력하세요." >${description}</textarea>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">첨부파일</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<div id="dropzone">Drag & Drop Files Here</div>
|
|
<div id="specAttachFileList" class="plm_table_wrap">
|
|
<table id="uploadedFileAreaTable" class="plm_table">
|
|
<colgroup>
|
|
<col width="*">
|
|
<col width="11%">
|
|
<col width="3%">
|
|
</colgroup>
|
|
<thead>
|
|
<tr class="plm_thead">
|
|
<td>파일명</td>
|
|
<td>용량</td>
|
|
<td></td>
|
|
</tr>
|
|
</thead>
|
|
<tr class="defaultRow">
|
|
<td colspan="3">첨부된 첨부파일이 없습니다.</td>
|
|
</tr>
|
|
<tbody id="uploadedFileArea">
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="btn_wrap" style="clear:both;">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" id="saveBtn" value="저장" class="plm_btns" onclick="javascript:save();">
|
|
<input type="button" id="closeBtn" value="닫기" class="plm_btns" onclick="javascript:self.close();">
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |