ERP-node/WebContent/WEB-INF/view/salesMng/salesMngBOMList_220518.jsp

406 lines
13 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_jqGrid.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(){
$("#product_code").change(function(){
fn_productSpecList(this.value, "product_mgmt_spec", "${param.product_mgmt_spec}");
});
fn_productSpecList("${param.product_code}", "product_mgmt_spec", "${param.product_mgmt_spec}");
$("input[type=text]").keyup(function(e){
if(e.keyCode == 13){
$("#btnSearch").trigger("click");
}
});
$("#btnSearch").click(function(){
$("#search_partNo").val($.trim($("#search_partNo").val()));
$("#search_partName").val($.trim($("#search_partName").val()));
fn_search();
});
$("#btnReg").click(function(){
var bomReportObjId = $("input[name=bomReportObjId]:checked").val();
fn_salesMngBOMOpenPopUp(bomReportObjId);
});
$("#btnExcel").click(function(){
$("#search_partNo").val($.trim($("#search_partNo").val()));
$("#search_partName").val($.trim($("#search_partName").val()));
fn_excelExport($("#mainGrid"),"BOM_REPORT_역전개");
});
});
//양산제품에 해당하는 SPEC 정보 목록을 가져온다.
function fn_productSpecList(productObjId,selectboxId,selectedVal){
$("#"+selectboxId).empty();
$("#"+selectboxId).append("<option value=''>선택</option>");
if("" != productObjId){
$.ajax({
url:"/common/getProductSPECList.do",
type:"POST",
data:{"isJson":true,"TARGET_OBJID":productObjId},
dataType:"json",
async:false,
success:function(data){
resultList = data
if(0 < resultList.length){
for (var i = 0; i < resultList.length; i++) {
var commonCodeId = resultList[i].OBJID;
var commonCodeName = resultList[i].SPEC_NAME;
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
}
$("#"+selectboxId).val(selectedVal);
}
},
error: function(jqxhr, status, error){
}
});
}
}
function fn_search(){
document.form1.actionType.value = "search";
fn_getSalesMngBOMList("salesMngBOMList");
}
function fn_excelExport(pGridObj,pFileName){
var mya = pGridObj.getDataIDs();
var data = pGridObj.getRowData(mya[0]);
var colNames=new Array();
var ii=0;
for (var d in data){ colNames[ii++] = d; }
//컬럼 헤더 가져오기
var columnHeader = pGridObj.jqGrid('getGridParam','colNames') + '';
var arrHeader = columnHeader.split(',');
var html="<table border=1><tr>";
for ( var y = 0; y < arrHeader.length; y++ ) {
var hName = arrHeader[y];
if("PART_OBJID" == hName || "EO_OBJID" == hName){
continue;
}
html = html + "<td><b>" + arrHeader[y] + "</b></td>";
}
html = html + "</tr>";
//값 불러오기
for(var i=0;i< mya.length;i++) {
var datac= pGridObj.getRowData(mya[i]);
html = html +"<tr>";
for(var j=0; j< colNames.length;j++){
if("PART_OBJID" == colNames[j] || "EO_OBJID" == colNames[j]){
continue;
}
html=html + '<td>' + datac[colNames[j]]+"</td>";
}
html = html+"</tr>";
}
html=html+"</table>"; // end of line at the end
document.EXCEL_.csvBuffer.value = html;
document.EXCEL_.fileName.value = pFileName;
document.EXCEL_.target='_new';
document.EXCEL_.submit();
}
function fn_str_openPopup(bom_report_objid, product_code, product_mgmt_spec, upg_no, search_partNo, search_partName){
var param = "actionType=search"
+"&bom_report_objid=" + bom_report_objid
+"&product_code=" + product_code
+"&product_mgmt_spec=" + product_mgmt_spec
+"&upg_no=" + upg_no
+"&search_partNo=" + search_partNo
+"&search_partName=" + search_partName
;
window.open("/partmgmt/structureAscendingListPopup.do?"+param, "_strListPopup", "width=1200, height=800, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
//구매 BOM 팝업
function fn_salesMngBOMOpenPopUp(bom_report_objid){
var param = "actionType=search"
+"&bom_report_objid=" + bom_report_objid
;
window.open("/salesMng/salesMngBOMListPopUp.do?"+param, "_strListPopup", "width=1200, height=800, toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
//조회흫 통해 구조등록된 BOM 정보를 가져온다.
function fn_getSalesMngBOMList(areaId){
var form1Data = $("#form1").serialize();
var appendText = "";
$.ajax({
url:"/salesMng/getSalesMngBOMList.do",
type:"POST",
data:form1Data,
dataType:"json",
async:false,
success:function(data){
var resultList = data
console.log(resultList);
if(0 < resultList.length){
for (var i = 0; i < resultList.length; i++) {
var OBJID = resultList[i].OBJID;
var BOM_REPORT_OBJID = resultList[i].BOM_REPORT_OBJID;
var PRODUCT_MGMT_OBJID = resultList[i].PRODUCT_MGMT_OBJID;
var RNUM = resultList[i].RNUM;
var PRODUCT_CODE = resultList[i].PRODUCT_CODE;
var SPEC_NAME = resultList[i].SPEC_NAME;
var REV = resultList[i].REV;
var DEPT_NAME = resultList[i].DEPT_NAME;
var USER_NAME = resultList[i].USER_NAME;
var REGDATE = resultList[i].REGDATE;
var DEPLOY_DATE = resultList[i].DEPLOY_DATE;
var STATUS_TITLE = resultList[i].STATUS_TITLE;
var PART_CNT = resultList[i].PART_CNT;
appendText += " <tr>";
appendText += " <td><input type='radio' name='bomReportObjId' value='"+OBJID+"'></td>";
appendText += " <td>";
appendText += " <a href='#' class='File file_icon' onclick=fn_str_openPopup('"+OBJID+"','"+PRODUCT_MGMT_OBJID+"','','','','');></a>";
appendText += " </td>";
appendText += " <td>";
appendText += " <a href='#' class='File file_"+(0 < PART_CNT ? '':'empty_')+"icon' onclick=fn_salesMngBOMOpenPopUp('"+OBJID+"');></a>";
appendText += " </td>";
appendText += " <td>"+RNUM+"</td>";
appendText += " <td>"+PRODUCT_CODE+"</td>";
appendText += " <td>"+SPEC_NAME+"</td>";
appendText += " <td>"+REV+"</td>";
appendText += " <td>"+DEPT_NAME+" "+USER_NAME+"</td>";
appendText += " <td>"+REGDATE+"</td>";
appendText += " <td>"+DEPLOY_DATE+"</td>";
appendText += " <td>"+STATUS_TITLE+"</td>";
appendText += " </tr>";
}
}else{
appendText += " <tr>";
appendText += " <td colspan='11' align='center'>조회된 정보가 없습니다.</td>";
appendText += " </tr>";
}
},
error: function(jqxhr, status, error){
}
});
$("#"+areaId).empty();
$("#"+areaId).append(appendText);
}
</script>
</head>
<body class="backcolor">
<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="actionType" id="actionType" value="" />
<input type="hidden" name="OBJID" id="OBJID" value="${param.OBJID}">
<div class="min_part_enroll">
<div class="content-box">
<div class="content-box-s">
<div class="plm_menu_name">
<h2>
<span>구매 BOM 관리</span>
</h2>
</div>
<div id="plmSearchZon">
<table>
<tbody>
<tr>
<td><label for="product_code">기종(모델)명</label></td>
<td>
<select name="product_code" id="product_code" style="" class="select2" autocomplete="off">
<option value="">선택</option>
${code_map.product_code}
</select>
</td>
<td class="align_r">
<label for="" class="">Part No</label>
</td>
<td>
<input type="text" name="search_partNo" id="search_partNo" value="${param.search_partNo}" class="text_area" maxlength="15"/>
</td>
<td class="align_r">
<label for="" class="">Part Name</label>
</td>
<td>
<input type="text" name="search_partName" id="search_partName" value="${param.search_partName}" class="text_area" style="width:350px;" maxlength="20" placeholder="ex) HEX. BOLT"/>
</td>
</tr>
</tbody>
</table>
</div>
<div class="contents_page_basic_margin">
<!--// 구매의뢰품목 -->
<h3 class="tit" style="margin:0px;">구매의뢰품목 정보</h3>
<div class="btn_wrap">
<div class="plm_btn_wrap">
<input type="button" value="등록" class="plm_btns" id="btnReg">
<input type="button" value="조회" class="plm_btns" id="btnSearch">
</div>
</div>
<div class="plm_table_wrap">
<div style="overflow-y:scroll;">
<table class="plm_table">
<colgroup>
<col width="3%" />
<col width="3%" />
<col width="3%" />
<col width="3%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="7%" />
</colgroup>
<tr class="plm_thead">
<td>선택</td>
<td>BOM</td>
<td>구매 BOM</td>
<td>No</td>
<td>기종(모델)명</td>
<td>사양명</td>
<td>Version</td>
<td>담당자</td>
<td>등록일</td>
<td>배포일</td>
<td>상태</td>
</tr>
</table>
</div>
<div class="plm_scroll_table" style="width: 100%; height: 220px;">
<table class="plm_table">
<colgroup>
<col width="3%" />
<col width="3%" />
<col width="3%" />
<col width="3%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="7%" />
</colgroup>
<tbody id="salesMngBOMList">
<tr>
<td colspan="11" align="center">조회된 정보가 없습니다.</td>
</tr>
</tbody>
</table>
</div>
</div>
<!--// 구매의뢰품목 -->
<h3 class="tit" style="margin:0px;">구매의뢰품목 정보</h3>
<div class="plm_table_wrap">
<div style="overflow-y:scroll;">
<table class="plm_table">
<colgroup>
<col width="3%" />
<col width="3%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="7%" />
</colgroup>
<tr class="plm_thead">
<td>전개</td>
<td>No</td>
<td>기종(모델)명</td>
<td>사양명</td>
<td>Version</td>
<td>담당자</td>
<td>등록일</td>
<td>배포일</td>
<td>상태</td>
</tr>
</table>
</div>
<div class="plm_scroll_table" style="width: 100%; height: 300px;">
<table class="plm_table">
<colgroup>
<col width="3%" />
<col width="3%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="7%" />
</colgroup>
<c:choose>
<c:when test="${!empty LIST}">
<c:forEach var="item" items="${LIST}" varStatus="status">
<tr>
<td style="cursor: pointer; color: blue;" onclick="fn_str_openPopup('${item.OBJID}','${item.PRODUCT_MGMT_OBJID}','${param.product_mgmt_spec}','${param.upg_no}','${param.search_partNo}','${param.search_partName}'); return false;">
<img src="/images/btnPlus.png" width="13px" height="13px" style="cursor: pointer;" title="BOM조회"/>
</td>
<td>${item.RNUM}</td>
<td>${item.PRODUCT_CODE}</td>
<td>${item.SPEC_NAME}</td>
<td>${item.REV}</td>
<td>${item.DEPT_NAME}${item.USER_NAME}</td>
<td>${item.REGDATE}</td>
<td>${item.DEPLOY_DATE}</td>
<td>${item.STATUS_TITLE}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="9" align="center">조회된 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</body>
<style>
.container::-webkit-scrollbar-thumb {background: linear-gradient(to bottom, #f5d78e, #f5d78e) !important;}
.container::-webkit-scrollbar-track {background-color: white !important;}
.container::-webkit-scrollbar-button { display: none !important;}
</style>
</html>