ERP-node/WebContent/WEB-INF/view/devMng/moldDevRequestFormPopUp.jsp

636 lines
20 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.*"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="java.util.*" %>
<%@include file= "/init_jqGrid.jsp" %>
<%
PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN);
String userId = CommonUtils.checkNull(person.getUserId());
%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
</head>
<script>
var partGrid;
$(document).ready(function(){
$("#btnClose").click(function(){
self.close(0);
});
$("#btnSave").click(function(){
fn_save();
});
$("#btnDrawingDownload").click(function(){
fn_getDrawingDownload();
});
fnc_setFileDropZone("moldDevReqDropZone", "${resultMap.OBJID}", "MOLD_DEV_REQUEST", "금형제작의뢰 첨부파일", "fileAreaDraw",false,null,null);
fileAreaDraw();
fnc_datepick();
fn_getApprovalLine();
$("#OEM_OBJID").change(function(){
$("#CAR_OBJID").empty();
fn_getExternalPart();
if("" != this.value){
fnc_getCarList("", this.value, "CAR_OBJID","${resultMap.CAR_OBJID}");
}
});
$("#CAR_OBJID").change(function(){
fn_getExternalPart();
});
$("#PRODUCT_GROUP_OBJID").change(function(){
$("#PRODUCT_OBJID").empty();
if("" != this.value){
fnc_getCodeListAppend(this.value,"PRODUCT_OBJID","${resultMap.PRODUCT_OBJID}");
}
});
//금형의뢰업체 변경 시 part 목록 Select
$("#MOLD_DEV_PARTNER_CODE").change(function(){
fn_setSupplyInfo();
if("" != this.value){
fn_getExternalPart();
}
});
$("#PRODUCT_OBJID").change(function(){
fn_getExternalPart();
});
fnc_getOEMList("OEM_OBJID", "${resultMap.OEM_OBJID}");
fn_getSupplyCodeListAppend("MOLD_DEV_PARTNER_CODE", "${resultMap.MOLD_DEV_PARTNER_CODE}");
if("" != "${resultMap.OEM_OBJID}"){
fnc_getCarList("", "${resultMap.OEM_OBJID}", "CAR_OBJID","${resultMap.CAR_OBJID}");
}
fnc_getCodeListAppend("<%=Constants.PRODUCT_GROUP_CODE%>","PRODUCT_GROUP_OBJID","${resultMap.PRODUCT_GROUP_OBJID}");
if("" != "${resultMap.PRODUCT_GROUP_OBJID}"){
fnc_getCodeListAppend("${resultMap.PRODUCT_GROUP_OBJID}","PRODUCT_OBJID","${resultMap.PRODUCT_OBJID}");
}
if("" != "${resultMap.MOLD_DEV_PARTNER_CODE}"){
fn_setSupplyInfo();
}
fnc_getProjectNoList("PROJECT_OBJID","${resultMap.PROJECT_OBJID}");
var partHeaderNames = [
'품번 ',
'품명 ',
'PART_OBJID'
];
var partColModels =
[
{name:'PART_NO', index:'PART_NO', align:'left', width:'150px'},
{name:'PART_NAME', index:'PART_NAME', align:'left', width:'350px'},
{name:'PART_OBJID', index:'PART_OBJID', hidden: true}
];
partGrid = $("#partListGrid").jqGrid({
url :"/devMng/moldDevRequestPartnerPartList.do",
datatype : "json",
mtype : 'POST',
postData :{
"search_oemObjId":"${resultMap.OEM_OBJID}",
"search_carObjId":"${resultMap.CAR_OBJID}",
"search_productObjId":"${resultMap.PRODUCT_OBJID}",
"search_mold_dev_partner_code":"${resultMap.MOLD_DEV_PARTNER_CODE}"
},
height : 450,
colNames : partHeaderNames,
colModel : partColModels,
autowidth : true,
shrinkToFit : false,
rownumbers : true,
emptyrecode : "조회된 Part 정보가 없습니다.",
onCellSelect: function(rowid, iCol, cellcontent, e) {
var cm = $(this).jqGrid("getGridParam","colModel");
if("PART_NO" == cm[iCol].name){
var row = $(this).getRowData(rowid);
var partObjId = row.PART_OBJID;
if("" != partObjId){
fn_openPartPopup(partObjId);
}
}
}
});
});
function fn_openPartPopup(objId){
window.open("/partMng/partMngDetailPopUp.do?OBJID="+objId, "tempPartListPopup", "width=600, height=700, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
</script>
<script>
function fn_setSupplyInfo(){
var moldDevPartnerObj = $('#MOLD_DEV_PARTNER_CODE option');
var regNo = fnc_checkNull($("#MOLD_DEV_PARTNER_CODE option:selected").attr("data-REG_NO"));
var chargeUserName = fnc_checkNull($("#MOLD_DEV_PARTNER_CODE option:selected").attr("data-CHARGE_USER_NAME"));
var supplyTelNo = fnc_checkNull($("#MOLD_DEV_PARTNER_CODE option:selected").attr("data-SUPPLY_TEL_NO"));
var paymentMethod = fnc_checkNull($("#MOLD_DEV_PARTNER_CODE option:selected").attr("data-PAYMENT_METHOD"));
console.log(regNo);
console.log(chargeUserName);
console.log(supplyTelNo);
console.log(paymentMethod);
$("#SUPPLY_REG_NO").html(regNo);
$("#CHARGE_USER_NAME").html(chargeUserName);
$("#SUPPLY_TEL_NO").html(supplyTelNo);
$("#PAYMENT_TYPE").html(paymentMethod);
}
//공급업체 정보목록을 가져온다.
function fn_getSupplyCodeListAppend(selectboxId,selectedVal){
$.ajax({
url:"/common/getSupplyCodeList.do",
type:"POST",
data:{},
dataType:"json",
async:false,
success:function(data){
var resultList = data;
$("#"+selectboxId).empty();
$("#"+selectboxId).append("<option value=''>선택</option>");
if(0 < resultList.length){
for (var i = 0; i < resultList.length; i++) {
var commonCodeId = resultList[i].CODE_ID;
var commonCodeName = resultList[i].CODE_NAME;
var regNo = resultList[i].REG_NO;
var chargeUserName = resultList[i].CHARGE_USER_NAME;
var supplyTelNo = resultList[i].SUPPLY_TEL_NO;
var paymentMethod = resultList[i].PAYMENT_METHOD;
$("#"+selectboxId).append("<option value='"+commonCodeId+"' data-REG_NO='"+regNo+"' data-CHARGE_USER_NAME='"+chargeUserName+"' data-SUPPLY_TEL_NO='"+supplyTelNo+"' data-PAYMENT_METHOD='"+paymentMethod+"'>"+commonCodeName+"</option>");
}
$("#"+selectboxId).val(selectedVal);
}
},
error: function(jqxhr, status, error){
}
});
}
//금형제작의뢰 업체 선택 시 part 목록을 가져온다.
function fn_getExternalPart(){
partGrid.jqGrid("clearGridData", true);
var oemObjId = $("#OEM_OBJID");
var carObjId = $("#CAR_OBJID");
var productObjId = $("#PRODUCT_OBJID");
var moldDevPartnerCode = $("#MOLD_DEV_PARTNER_CODE");
if("" != oemObjId.val() && "" != carObjId.val() && "" != productObjId.val() && "" != moldDevPartnerCode.val()){
partGrid.setGridParam({
url :"/devMng/moldDevRequestPartnerPartList.do",
datatype : "json",
mtype : 'POST',
postData :{
"search_oemObjId":oemObjId.val(),
"search_carObjId":carObjId.val(),
"search_productObjId":productObjId.val(),
"search_mold_dev_partner_code":moldDevPartnerCode.val()
},
loadComplete: function(data) {
console.log(data);
}
}).trigger("reloadGrid");
}
}
//결재정보를 가져온다.
function fn_getApprovalLine(){
var scheduleList = new Array();
<c:forEach items="${approvalList}" var="approvalItem">
var seq = "${approvalItem.SEQ}";
var targetUserName = "${approvalItem.TARGET_USER_NAME}";
var procDate = "${approvalItem.PROC_DATE}";
if(1 == seq){
$("#reviewerName").append(targetUserName);
$("#reviewerDate").append(procDate);
}
if(2 == seq){
$("#confirmName").append(targetUserName);
$("#confirmDate").append(procDate);
}
</c:forEach>
}
function fileAreaDraw(){
fn_fileCallback2("moldDevReq","MOLD_DEV_REQUEST");
}
function fn_fileCallback2(areaId,fileType){
$.ajax({
url:"/common/getFileList.do",
type:"POST",
data:{"targetObjId":"${resultMap.OBJID}", "docType":fileType},
dataType:"json",
async:false,
success:function(data){
if(0 < data.length){
//첨부파일 목록 영역 show
$("#"+areaId+"FileArea").empty();
if(0 < $("#"+areaId+"DefaultRow").length){
$("#"+areaId+"DefaultRow").hide();
}
$.each(data, function(i){
var appendText = "";
var path = data[i].FILE_PATH;
var fileName = data[i].SAVED_FILE_NAME;
var fileExt = data[i].UPPER_FILE_EXT;
appendText += "<colgroup>";
appendText +=" <col width='10%''>";
appendText +=" <col width='*'>";
appendText +=" <col width='20%'>";
appendText +=" </colgroup>";
appendText+= "<tr>";
appendText+= " <td>"+[i+1]+"</td>";
appendText+= " <td class='align_l'><a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>&nbsp;&nbsp;"+data[i].REAL_FILE_NAME+"</a>";
<c:if test="${param.actionType eq 'regist' or info.WRITER eq connectUserId or 'plm_admin' eq connectUserId}">
appendText+= "<a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\")'><div class='delete_btn'></div></a>";
</c:if>
appendText+= "</td>";
appendText+= " <td>"+data[i].REGDATE+"</td>";
appendText+= "</tr>";
$("#"+areaId+"FileArea").append(appendText);
});
}else{
$("#"+areaId+"DropZone").show();
$("#"+areaId+"AttachFileList").hide();
$("#"+areaId+"FileArea").empty();
var appendText = "";
appendText += "<tr>";
appendText += "<td>첨부 파일이 없습니다.</td>";
appendText +="</tr>";
$("#"+areaId+"FileArea").append(appendText);
}
},
error: function(jqxhr, status, error){
}
});
}//파일 첨부 END
/*첨부 파일 삭제 */
function fileDelete(fileObjId,areaId){
var type =areaId;
if(confirm("파일을 삭제하시겠습니까?")){
$.ajax({
url:"/common/deleteFileInfo.do",
type:"POST",
data:{"objId":fileObjId},
dataType:"json",
async:true,
success:function(data){
fileAreaDraw();
},
error: function(jqxhr, status, error){
}
});
}
}
function fn_save(){
if(fnc_validate('form1')){
var gridData = $("#partListGrid").getRowData();
if(0 < gridData.length){
if(confirm("저장하시겠습니까?")){
$.ajax({
url:"/devMng/saveMoldDevRequestInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
success:function(data){
Swal.fire(data.message);
opener.fn_search();
self.close();
},
error: function(jqxhr, status, error){
}
});
}
}else{
Swal.fire("해당업체에 지정된 금형제작 대상 Part 정보가 존재하지 않습니다.");
return false;
}
}
}
function fn_getDrawingDownload(){
var gridData = $("#partListGrid").getRowData();
if(0 < gridData.length){
var targetPartList = [];
for(var i=0;i<gridData.length;i++){
targetPartList.push(gridData[i].PART_OBJID);
}
var form = document.form1;
form.TARGET_DRAWING_DOWNLOAD.value = targetPartList.join();
form.action = "/devMng/getDrawingDownload.do";
form.submit();
}else{
Swal.fire("일괄다운로드 대상 Part가 없습니다.");
return false;
}
}
</script>
<style>
.input_title {border-left:1px solid #ccc;}
.input_sub_title {border-left:1px solid #ccc;}
.pmsPopupForm tr:last-child td{border-bottom:1px solid #ccc;}
</style>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="OBJID" id="OBJID" value="${resultMap.OBJID}">
<input type="hidden" name="objId" id="objId" value="${resultMap.OBJID}">
<input type="hidden" name="STATUS" id="STATUS" value="${resultMap.STATUS}">
<input type="hidden" name="TARGET_DRAWING_DOWNLOAD" id="TARGET_DRAWING_DOWNLOAD">
<section>
<div class="plm_menu_name" style="display:flex;">
<h2 style="width:50%;text-align:center;margin-top:15px;">
<span style="font-size:30px;">금형제작의뢰 등록</span>
</h2>
<table class="pmsPopupForm" style="width:50%;background:white;">
<colgroup>
<col width="20%">
<col width="20%">
<col width="20%">
<col width="20%">
</colgroup>
<tr style="border-spacing: 0;border-bottom:1px solid #ccc;border-left:1px solid #ccc;">
<td class="input_title" rowspan="3" style="text-align:center;">
<label>결재</label>
</td>
<td class="input_title" style="text-align:center;">
<label>작성자</label>
</td>
<td class="input_title" style="text-align:center;">
<label>검토</label>
</td>
<td class="input_title" style="text-align:center;">
<label>승인</label>
</td>
</tr>
<tr style="border-spacing: 0;border-bottom:1px solid #ccc;">
<td class="input_sub_title" style="text-align:center;">
${resultMap.WRITER_TITLE}<!-- 작성자이름 -->
</td>
<td class="input_sub_title" style="text-align:center;" id="reviewerName"></td>
<td class="input_sub_title" style="text-align:center;" id="confirmName"></td>
</tr>
<tr style="border-spacing: 0;border-bottom:1px solid #ccc;border-left:1px solid #ccc;">
<td class="input_sub_title" style="text-align:center;">
${resultMap.REGDATE_TITLE}<!-- 작성일자 -->
</td>
<td class="input_sub_title" style="text-align:center;" id="reviewerDate"></td>
<td class="input_sub_title" style="text-align:center;" id="confirmDate"></td>
</tr>
</table>
</div>
<div id="businessPopupFormWrap">
<!-- <div class="form_popup_title">&nbsp;&nbsp;&nbsp;영업활동 등록</div> -->
<table class="pmsPopupForm">
<colgroup>
<col width="8%">
<col width="17%">
<col width="8%">
<col width="17%">
<col width="8%">
<col width="17%">
</colgroup>
<tr>
<td class="input_title">
<label for="">고객사</label>
</td>
<td class="input_sub_title" >
<select name="OEM_OBJID" id="OEM_OBJID" title="고객사" required></select>
</td>
<td class="input_title">
<label for="">차종</label>
</td>
<td class="input_sub_title">
<select name="CAR_OBJID" id="CAR_OBJID" title="차종" required></select>
</td>
<td class="input_title">
<label for="">금형업체</label>
</td>
<td class="input_sub_title">
<select name="MOLD_DEV_PARTNER_CODE" id="MOLD_DEV_PARTNER_CODE" required></select>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">Project No.</label>
</td>
<td class="input_sub_title" >
<select name="PROJECT_OBJID" id="PROJECT_OBJID"></select>
</td>
<td class="input_title">
<label for="">제품군</label>
</td>
<td class="input_sub_title">
<select name="PRODUCT_GROUP_OBJID" id="PRODUCT_GROUP_OBJID" required></select>
</td>
<td class="input_title">
<label for="">사업자등록번호</label>
</td>
<td class="input_sub_title" id="SUPPLY_REG_NO"></td>
</tr>
<tr>
<td class="input_title">
<label for="">제품</label>
</td>
<td class="input_sub_title" colspan="3">
<select name="PRODUCT_OBJID" id="PRODUCT_OBJID" title="제품" required></select>
</td>
<td class="input_title">
<label for="">담당자</label>
</td>
<td class="input_sub_title" id="CHARGE_USER_NAME"></td>
</tr>
<tr>
<td class="input_title">
<label for="">제목</label>
</td>
<td class="input_sub_title" colspan="3">
<input type="text" name="TITLE" id="TITLE" value="${resultMap.TITLE}">
</td>
<td class="input_title">
<label for="">연락처</label>
</td>
<td class="input_sub_title" id="SUPPLY_TEL_NO"></td>
</tr>
</table>
<table class="pmsPopupForm" style="margin-top:10px;">
<colgroup>
<col width="50%">
<col width="12.5%">
<col width="12.5%">
<col width="12.5%">
<col width="*">
</colgroup>
<tr>
<td class="input_title">
<label for="">금형제작의뢰 부품</label>
</td>
<td class="input_title" colspan="4">
<label for="">제품정보 및 요청사항</label>
</td>
</tr>
<tr>
<td class="input_sub_title" rowspan="10">
<table id="partListGrid" style="width:94%;"></table>
</td>
<td class="input_title" colspan="2">
<label for="">Resign</label>
</td>
<td class="input_sub_title" colspan="2">
<input type="text" name="RESIGN" id="RESIGN" value="${resultMap.RESIGN}">
</td>
</tr>
<tr>
<td class="input_title" colspan="2">
<label for="">제품 Size</label>
</td>
<td class="input_sub_title" colspan="2">
<input type="text" name="PRODUCT_SIZE" id="PRODUCT_SIZE" value="${resultMap.PRODUCT_SIZE}">
</td>
</tr>
<tr>
<td class="input_title" colspan="2">
<label for="">생산법인</label>
</td>
<td class="input_sub_title" colspan="2">
<input type="text" name="PRODUCTION_CORPORATION" id="PRODUCTION_CORPORATION" value="${resultMap.PRODUCTION_CORPORATION}">
</td>
</tr>
<tr>
<td class="input_title" colspan="2">
<label for="">제작완료요청일</label>
</td>
<td class="input_sub_title" colspan="2">
<input type="text" name="PRODUCTION_COMPLETION_DATE" id="PRODUCTION_COMPLETION_DATE" value="${resultMap.PRODUCTION_COMPLETION_DATE}">
</td>
</tr>
<tr>
<td class="input_title" colspan="2">
<label for="">부식/각인 적용여부</label>
</td>
<td class="input_sub_title" colspan="2">
<input type="text" name="ENGRAVE_APPLY" id="ENGRAVE_APPLY" value="${resultMap.ENGRAVE_APPLY}">
</td>
</tr>
<tr>
<td colspan="4">
<input type="button" value="도면일괄다운로드" id="btnDrawingDownload" class="plm_btns align_r">
</td>
</tr>
<tr>
<td class="input_title">
<label for="">견적가</label>
</td>
<td class="input_sub_title">
<input type="number" name="ESTIMATE_PRICE" id="ESTIMATE_PRICE" value="${resultMap.ESTIMATE_PRICE}">
</td>
<td class="input_title">
<label for="">결재방식</label>
</td>
<td class="input_sub_title" id="PAYMENT_TYPE"></td>
</tr>
<tr>
<td class="input_title">
<label for="">금형제작</br>주요사양</label>
</td>
<td class="input_sub_title" colspan="3">
<textarea id="MOLD_PRODUCTION_MAIN_SPEC" name="MOLD_PRODUCTION_MAIN_SPEC" style="width:99.9%;resize:none;height:100%;" placeholder="주요사항을 입력하세요.">${resultMap.MOLD_PRODUCTION_MAIN_SPEC}</textarea>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">파일첨부</label>
</td>
<td colspan="3">
<div id="moldDevReqDropZone" class="dropzone"style="width:99% !important;">Drag & Drop Files Here</div>
</td>
</tr>
<tr>
<td colspan="4">
<div class="project_form_in_table"style="width:100%" id="moldDevReqFileAreaTable" >
<div style="overflow-y:scroll;">
<table class="" style="width:100%;">
<colgroup>
<col width="10%">
<col width="*">
<col width="20%">
</colgroup>
<thead>
<tr class="plm_thead">
<td>No</td>
<td>첨부파일명</td>
<td>등록일</td>
</tr>
</thead>
</table>
</div>
<div class="plm_scroll_table" style="height:75px;">
<table class="plm_table">
<colgroup>
<col width="10%">
<col width="*">
<col width="20%">
</colgroup>
</table>
<table id="moldDevReqFileArea" class="fileListscrollTbody">
<tr>
<td colspan="3">첨부 파일이 없습니다.</td>
</tr>
</table>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="btn_wrap">
<div class="plm_btn_wrap_center">
<input type="button" value="저장" id="btnSave" class="plm_btns create">
<input type="button" value="닫기" id="btnClose" class="plm_btns">
</div>
</div>
</section>
</form>
</body>
</html>