ERP-node/WebContent/WEB-INF/view/productmgmt/productMgmtUpdateFormPopup.jsp

594 lines
17 KiB
Plaintext

<%@ 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.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
</head>
<script>
$(document).ready(function(){
$('.select2').select2();
$("#btnClose").click(function(){
self.close(0);
});
//수정
$("#btnSave").click(function(){
fn_save();
});
$("#btnUpload").click(function(){
var files = $("#file1")[0].files;
if(files.length > 0){
fnc_fileMultiUpload(files, null, "${objId}", "01", "첨부01", null, "projectAreaDraw");
//file객체 초기화
$("#file1").val("");
}else{
Swal.fire("선택된 File이 없습니다.");
}
});
fnc_datepick();
/* if("${actionType}"=="modify"){
$('input').prop('readonly', true);
$('select').prop('readonly', true);
$('input').prop("disabled", "disabled");
$('select').prop("disabled", "disabled");
$(".plm_btns").hide();
$(".delete_btn").hide();
$("#projectDropZone").hide();
} */
if("${info.PRODUCT_CATEGORY}"!=""){
makeSelect("${info.PRODUCT_CATEGORY}");
$("#product_type").val("${info.PRODUCT_TYPE}");
}
//이미지영역
//fnc_setFileDropZone("MasterImageDropZone", "${objId}", "MasterImage", "MasterImage", "fileAreaDraw",false,null,null);
// fnc_setFileDropZone("MasterFileDropZone", "${objId}", "Master", "MasterFile", "fileAreaDraw",false,null,null);
fnc_setFileDropZone("shapeDropZone", "${objId}", "PRODUCT_SHAPE_IMG", "PRODUCT 이미지", "fileAreaDraw",true,null,null,"jpg,png,jpeg");
fnc_setFileDropZone("productDropZone", "${objId}", "PRODUCT_FILE", "제품 첨부파일", "fileAreaDraw",false,null,null,null);
//파일표시
fileAreaDraw();
$("input:text[numberOnly]").on("keyup", function() {
$(this).val(addComma($(this).val().replace(/[^0-9]/g,"")));
});
});
function fileAreaDraw(){
//fn_fileCallback("MasterImage","MasterImage");
fn_fileCallback("shape","PRODUCT_SHAPE_IMG");
// fn_fileCallback1("Master","Master");
fn_fileCallback2("product","PRODUCT_FILE");
}
function fn_fileCallback2(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){
if(0 < $("#"+areaId+"DropZone").length){
if(areaId == "ecd"){
$("#"+areaId+"DropZone").hide();
}
$("#"+areaId+"FileArea").show();
}
//첨부파일 목록 영역 show
$("#"+areaId+"FileArea").empty();
$.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+= "<div style='float:left;width:90%;white-space: nowrap; overflow: hidden; text-overflow: ellipsis;'>";
appendText+= " <a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")' title='"+data[i].REAL_FILE_NAME+"'>"+data[i].REAL_FILE_NAME+"</a>";
appendText+= "</div>";
appendText+= "<div>";
appendText+= "<a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\")'><div class='delete_btn'></div></a>";
appendText+= "</div>";
$("#"+areaId+"FileArea").append(appendText);
});
}else{
$("#"+areaId+"DropZone").show();
$("#"+areaId+"FileArea").empty();
$("#"+areaId+"FileArea").hide();
}
},
error: function(jqxhr, status, error){
}
});
}//파일 첨부 END
//첨부파일 목록을 가져온다.
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){
//첨부파일 목록 영역 show
$("#"+areaId+"FileArea").empty();
if(0 < $("#"+areaId+"DropZone").length){
$("#"+areaId+"DropZone").hide();
$("#"+areaId+"FileArea").show();
}
$.each(data, function(i){
var realFileName = data[i].REAL_FILE_NAME;
var srcLocation = encodeURI("/common/viewImage.do?realFileName="+realFileName+"&savedFileName="+data[i].SAVED_FILE_NAME+"&attDir="+data[i].FILE_PATH);
var appendText = "";
var appendImgText = ""
appendText+= "<a href='javascript:fnc_downloadFile(\""+data[i].OBJID+"\")'>&nbsp;"+data[i].REAL_FILE_NAME+"</a>";
appendText+= "<a href='javascript:fileDelete(\""+data[i].OBJID+"\",\""+areaId+"\")'><div class='delete_btn'></div></a>";
appendImgText = "<img src='"+srcLocation+"' height='85px' width='99%' onclick='openImagePopUp(this.src)' style='cursor:pointer;' />"
$("#"+areaId+"FileArea").append(appendImgText+appendText);
});
}else{
$("#"+areaId+"DropZone").show();
$("#"+areaId+"FileArea").empty();
$("#"+areaId+"FileArea").hide();
}
},
error: function(jqxhr, status, error){
}
});
}//파일 첨부 END
//첨부파일 목록을 가져온다.
function fn_fileCallback1(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){
//첨부파일 목록 영역 show
$("#"+areaId+"FileArea").empty();
if(0 < $("#"+areaId+"DefaultRow").length){
$("#"+areaId+"DefaultRow").hide();
}
$.each(data, function(i){
var appendText = "";
if("Master" == areaId){
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='70%'>";
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 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,"problemImgPopUp","width="+img_width+",height="+height+", menubars=no, scrollbars=yes'");
}
function fn_getProductMasterList(selectType,selectboxId,selectedVal){
$.ajax({
url:"/productmgmt/ajxProductmgmtList.do",
type:"POST",
data:{"item_cd":selectType},
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 objId = resultList[i].PRODUCT_OBJID;
var title = resultList[i].DHISPRODUCT_NO;
$("#"+selectboxId).append("<option value='"+objId+"'>"+title+"</option>");
}
$("#"+selectboxId).val(selectedVal);
}
},
error: function(jqxhr, status, error){
}
});
}
/*첨부 파일 삭제 */
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();
// if(type=="MasterImage"){
// fn_fileCallback("MasterImage","MasterImage");
// }else if(type=="Master"){
// fn_fileCallback1("Master","Master");
// }
},
error: function(jqxhr, status, error){
}
});
}
}
//수주활동 등록정보 수정
function fn_save(){
if(fnc_valitate("form1")){
if(confirm("등록 하시겠습니까?")){
saveProcess();
}
/* if(fn_checkDuplicate()){
}else{
Swal.fire("입력된 제품번호는 이미 사용중인 제품번호 입니다.");
return false;
} */
}
}
function saveProcess(){
// $("#price").val($("#price").val().replace(/,/gi,""));
$.ajax({
url:"/productmgmt/saveproductMgmtInfo.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
success:function(data){
Swal.fire(data.RESULT.msg);
opener.fn_search();
self.close();
},
error: function(jqxhr, status, error){
}
});
}
function fn_checkDuplicate(){
var resultFlag = false;
$.ajax({
url:"/productmgmt/checkDuplicateProductMgmt.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
var cnt = new Number(data.CNT);
if(0 == cnt){
resultFlag = true;
}
},
error: function(jqxhr, status, error){
}
});
return resultFlag;
}
//코드값을 받아와서 동적으로 selectbox 생성
function makeSelect(code){
var val=code;
var params = "";
var option="";
var combobox = $("#product_type");
combobox.empty();
if(val!=""){
params += "codeId="+val;
$.ajax({
type : "POST",
url : "/common/makeCodeselect.do",
data : params,
dataType:"json",
async: false,
success: function(data){
if(data.RESULT !=""){
option += "<option value=''>선택</option>";
option += data.RESULT;
combobox.append(option);
$("#outc_cd6").val("${param.outc_cd6}");
//$("#outc_cd6").select2();
}else{
option += "<option value=''>선택</option>";
}
}
});
}
}
function addComma(data) {
return data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
</script>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="objId" id="objId" value="${objId}">
<section>
<div class="plm_menu_name">
<h2>
<span>제품마스터 등록</span>
</h2>
</div>
<div id="businessPopupFormWrap" >
<table class="pmsPopupForm">
<colgroup>
<col width="15%">
<col width="37%">
<col width="15%">
<col width="*">
</colgroup>
<tr>
<td class="input_title">
<label for="">사업부</label>
</td>
<td class="input_sub_title">
<select name="product_category" id="product_category" onchange='makeSelect($(this).val())' required reqTitle="제품구분" type="select">
<option value="">선택</option>
${code_map.product_category}
</select>
</td>
<td class="input_title">
<label for="">제품군</label>
</td>
<td class="input_sub_title">
<select name="product_type" id="product_type" required reqTitle="Type" type="select">
<option value="">선택</option>
</select>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">제품명</label>
</td>
<td class="input_sub_title">
<input style="padding:0px 0px 0px 8px;" type="text" name="product_name" id="product_name" value="${info.PRODUCT_NAME}">
</td>
<td class="input_title">
<label for="">제품명 코드</label>
</td>
<td class="input_sub_title">
<input style="padding:0px 0px 0px 8px;" type="text" name="product_name_code" id="product_name_code" value="${info.PRODUCT_NAME_CODE}">
</td>
</tr>
<tr>
<td class="input_title" >
<label for="">주요특징</label>
</td>
<td class="input_sub_title" >
<textarea id="note" name="note" style="resize: none; width: 100%; height: 130px;">${info.NOTE}</textarea>
</td>
<td class="input_title" >
<label for="">제품 이미지</label>
</td>
<td class="input_sub_title" >
<div id="shapeDropZone" class="dropzone" style="width:99%;height:130px;border: 2px dotted rgb(130, 150, 194);">Drag & Drop Image Files Here</div>
<div id="shapeFileArea" style="display:none;"></div>
</td>
</tr>
<tr>
<td class="input_title">
<label for="">등록자</label>
</td>
<td class="input_sub_title">
<input style="padding:0px 0px 0px 8px;" type="text" name="writer" id="writer" value="${info.WRITER}" readonly="readonly">
</td><td class="input_title">
<label for="">등록일</label>
</td>
<td class="input_sub_title">
<input style="padding:0px 0px 0px 8px;" type="text" name="reg" id="reg" value="${info.REGDATE}" readonly="readonly">
</td>
</tr>
<tr>
<td class="input_title">
<label for="">제품 코드(자동)</label>
</td>
<td class="input_sub_title">
<input style="padding:0px 0px 0px 8px;" type="text" name="product_code" id="product_code" value="${info.PRODUCT_CODE}" readonly="readonly">
</td>
<td class="input_title">
<label for="">생산여부</label>
</td>
<td class="input_sub_title">
<select name="production_flag" id="production_flag" required reqTitle="생산여부" type="select">
<option value="">선택</option>
${code_map.production_flag}
</select>
</td>
</tr>
</table>
<table class="pmsPopupForm" style="margin-top:10px;">
<colgroup>
<col width="15%">
<col width="20%">
<col width="15%">
<col width="*">
</colgroup>
<tr>
<td class="input_title" >
<label for="">첨부파일</label>
</td>
<td colspan="4">
<div id="productDropZone" class="dropzone" style="width:99% !important;">Drag & Drop Files Here</div>
<div class="plm_scroll_table" style="height:85px;">
<div id="productFileArea" style="display:none;"></div>
</div>
</td>
</tr>
</table>
</div>
<!-- <div id="businessPopupFormWrap">
<table class="pmsPopupForm">
<colgroup>
<col width="10%">
<col width="40%">
<col width="10%">
<col width="40%">
</colgroup>
<tr>
<td class="input_title">
<label for="">첨부파일</label>
</td>
<td colspan="3">
<div id="MasterFileDropZone" class="dropzone"style="width:99% !important;">Drag & Drop Files Here</div>
<div class="project_form_in_table"style="width:100%" id="MasterFileAreaTable" >
<div style="overflow-y:scroll;">
<table class=""fileListscrollThead"" style="width:100%;">
<colgroup>
<col width="10%">
<col width="70%">
<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="MasterFileArea" class="fileListscrollTbody">
</table>
</div>
</div>
</td>
</tr>
</table>
</div> -->
<div class="btn_wrap">
<div class="plm_btn_wrap_center">
<c:if test="${(param.actionType ne 'view' and info.REG_USER_ID eq connectUserId) or 'regist' eq param.actionType or 'plm_admin' eq connectUserId}">
<input type="button" value="저장" id="btnSave" class="plm_btns">
</c:if>
<input type="button" value="닫기" id="btnClose" class="plm_btns">
</div>
</div>
</section>
</form>
</body>
</html>