ERP-node/WebContent/WEB-INF/view/specData/specDataViewPop.jsp

521 lines
17 KiB
Plaintext
Raw Normal View History

2025-08-21 09:41:46 +09:00
<%@ 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="${param.objid}" />
<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="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}" />
<script type="text/javascript">
$(document).ready(function(){
fnc_datepick();
if("${!empty categoryHighObjid}"){
getSpecCategoryList("categoryHigh","${categoryHighObjid}","","high");
getSpecCategoryList("categoryMid","${categoryParentObjid}","${categoryHighObjid}","mid");
getSpecCategoryList("categoryLow","${categoryObjid}","${categoryParentObjid}","low");
}else{
getSpecCategoryList("categoryHigh","","","high");
}
getOEMList("oem","${oemObjid}");
getOEMList("compete","${competeObjid}");
getProductFamilyList("${productGroupObjid}");
getProductList("${productGroupObjid}","${productObjid}");
getCarList("${oemObjid}","${carObjid}");
getCarGradeList("","${gradeObjid}",false);
});
function specDataRevision(formName){
$("#actionType").val("revision");
save(formName)
}
function specDataChange(){
window.open("","specDataChangePop","width=900 height=700 menubar=no status=no");
var hiddenForm = document.hiddenForm;
hiddenForm.target = "specDataChangePop";
hiddenForm.action = "/specData/specDataChangeFS.do";
hiddenForm.submit();
}
function getSpecCategoryList(targetId,targetObjid,parentObjid,categoryLevel){
getSpecCategoryChangeList(targetId);
if("high" != categoryLevel && "" == parentObjid){
return false;
}
$.ajax({
type : "POST",
url : "/admin/getCategoryTypeList.do",
data:{ "categoryType" : categoryLevel, "categoryStatus" : "active", "parentObjid" : parentObjid},
dataType:"json",
async:false,
error: function(){
},
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(){
},
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(){
},
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(){
},
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(){
},
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(){
},
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(type){
if(fnc_valitate("form1")){
$("#categoryObjid").val($("#categoryLow").val());
var param = $("#form1").serialize();
$.ajax({
type : "POST",
url : "/specData/saveSpecData.do",
data: param,
dataType:"json",
async:false,
error: function(){
},
success: function(result){
if(null != result){
}
}
});
}else{
return false;
}
}
//소분류 선택에 따른 입력부분을 변경한다.
function changeInputArea(selectObject){
var hiddenForm = document.hiddenForm;
var type = "";
var carFlag = "";
var productFlag = "";
var revisionFlag = "";
var changeFlag = "";
var compatitionFlag = "";
var productGroupFlag = "";
if(0 < selectObject.length){
for(var i=0;i<selectObject.length;i++){
if(selectObject[i].selected){
type = $(selectObject[i]).attr("specInputType");
if("benchMarking" == type){
}else if("designStandard" == type){
}else if("designVerifi" == type){
}else if("spec" == type){
}
if("benchMarking" == $(selectObject[i]).attr("specInputType")){
}
categoryObjid = $(selectObject[i]).val();
carFlag = $(selectObject[i]).attr("carFlag");
productFlag = $(selectObject[i]).attr("productFlag");
revisionFlag = $(selectObject[i]).attr("revisionFlag");
changeFlag = $(selectObject[i]).attr("changeFlag");
compatitionFlag = $(selectObject[i]).attr("compatitionFlag");
productGroupFlag = $(selectObject[i]).attr("productGroupFlag");
break;
}
}
}
}
</script>
</head>
<body class="backcolor_light_blue">
<form name="hiddenForm" id="hiddenForm">
</form>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="categoryObjid" id="categoryObjid">
<input type="hidden" name="actionType" id="actionType">
<section>
<div class="pdm_menu_name">
<h2>
<span>기술자료관리</span>
</h2>
</div>
<div id="specDataListPopupUpperFormWrap">
<div class="form_popup_title">&nbsp;&nbsp;&nbsp;기술자료관리 대/중/소 분류</div>
<table id="specDataListPopupFrom">
<colgroup>
<col width="33.5%">
<col width="33.5%">
<col width="*">
</colgroup>
<tr>
<td class="" rowspan="2">
<label for="" class="">대분류</label><br>
<select name="categoryHigh" id="categoryHigh" onchange="javascript:getSpecCategoryList('categoryMid','',this.value,'mid');" required type="select" title="대분류"></select>
</td>
<td>
<label for="" class="">중분류</label><br>
<select name="categoryMid" id="categoryMid" onchange="javascript:getSpecCategoryList('categoryLow','',this.value,'low');" required type="select" title="중분류"></select>
</td>
<td>
<label for="" class="">소분류</label><br>
<select name="categoryLow" id="categoryLow" onchange="javascript:changeInputArea(this);" required type="select" title="소분류"></select>
</td>
</tr>
</table>
</div>
</section>
<section>
<div id="specDataListPopupLowerFormWrap">
<div class="form_popup_title">&nbsp;&nbsp;&nbsp;기술자료관리 하위항목 분류</div>
<table id="specDataListPopupFrom">
<colgroup>
<col width="33.5%">
<col width="33.5%">
<col width="*">
</colgroup>
<tr>
<td>
<label for="">문서명</label><br>
<input type="text" class="short_text_area" name="docName" id="docName" value="${docName}">
</td>
<td class="">
<label for="">Spec No</label><br>
<input type="text" class="short_text_area" name="specNo" id="specNo" value="${specNo}">
</td>
<td>
<label for="" class="">단계</label><br>
<select id="">
<option value="">선택</option>
<option value="l1">L1</option>
<option value="l2">L2</option>
<option value="l3">L3</option>
<option value="l4">L4</option>
<option value="instl">INSTL</option>
</select>
</td>
</tr>
<tr>
<td class="">
<label for="" class="">고객사</label><br>
<select name="oem" id="oem" onchange="parent.specDataPopUpTop.getCarList(this.value,'');"></select>
</td>
<td class="">
<label for="" class="">차종</label><br>
<select name="car" id="car"></select>
</td>
<td class="">
<label for="">문서번호</label><br>
<p>${docNo}</p> <input type="hidden" name="docNo" id="docNo" value="${docNo}">
</td>
</tr>
<tr>
<td class="">
<label for="" class="">제품군</label><br>
<select name="productFamily" id="productFamily" onchange="javascript:parent.specDataPopUpTop.getProductList(this.value,'${productObjid}');"></select>
</td>
<td class="">
<label for="" class="">제품</label><br>
<select name="product" id="product" ></select>
</td>
<td class="">
<label for="">Rev</label><br>
<p>${rev}</p><input type="hidden" name="revision" id="revision" value="${rev}">
</td>
</tr>
<tr>
<td class="">
<label for="">경쟁차종</label><br>
<input type="text" class="short_text_area" name="compatitionCar" id="compatitionCar" value="${compatitionCar}">
</td>
<td class="">
<label for="" class="">회사명</label><br>
<select name="compete" id="compete"></select>
</td>
<td>
<label for="" class="">등급구분</label><br>
<select name="grade" id="grade"></select>
</td>
</tr>
<tr>
<td class="">
<label for="">등록일</label><br>
<input type="text" class="short_text_area" value="${regDate}" readonly>
</td>
<td class="">
<label for="">개정일</label><br>
<input type="text" class="short_text_area" name="revisionDate" id="revisionDate" value="${revisionDate}">
</td>
<td class="">
<label for="">제정일</label><br>
<input type="text" class="short_text_area" name="establishDate" id="establishDate" value="${establishDate}">
</td>
</tr>
<tr>
<td class="">
<label for="">변경내역</label><br>
<input type="text" class="short_text_area" value="${regDate}" readonly>
</td>
<td class="">
<label for="">개정일</label><br>
<input type="text" class="short_text_area" name="revisionDate" id="revisionDate" value="${revisionDate}">
</td>
<td class="">
<label for="">제정일</label><br>
<input type="text" class="short_text_area" name="establishDate" id="establishDate" value="${establishDate}">
</td>
</tr>
<tr>
<td colspan="3">
<label for="">첨부파일</label><br>
<input type="file" name="attachFile" id="attachFile">
</td>
</tr>
</table>
<div id="pdmSearchBtnWrap">
<input type="button" value="등록" class="pdm_btns" onclick="javascript:save('default');">
<input type="button" value="Revision" class="pdm_btns" onclick="javascript:specDataRevision('default');">
<input type="button" value="기술문서 치환" class="pdm_btns" onclick="javascript:specDataChange();">
</div>
</div>
</section>
</form>
</body>
</html>