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

345 lines
9.9 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>
var headerNames = [];
var colModels = [];
var modDevCodeList = {'':"선택",'carryOver':"C/O",'new':"신규"};
var partDevCodeList = {'':"선택",'inHouse':"내작",'external':"외작"};
var moldDevPartnerList = fnc_getSupplyCodeListJsonStr();
var partDevPartnerList = fnc_getSupplyCodeListJsonStr();
var grid;
var pageType = true;
//var pageType = fn_setPageType();
$(document).ready(function(){
$("#btnSave").click(function(){
fn_save();
});
$("#btnClose").click(function(){
opener.fn_search();
self.close(0);
});
headerNames = [
'품번 ',
'품명 ',
'EO No',
'EO Date',
'Revision',
'수량 ',
'재질 ',
'중량 ',
'SIZE ',
'표면처리 ',
'SPEC ',
'금형개발 구분',
'금형개발 업체',
'부품개발 구분',
'부품개발 업체',
'PART_OBJID',
'EO_OBJID',
'OBJID',
'BOM_REPORT_OBJID',
'OEM_OBJID',
'CAR_OBJID',
'PRODUCT_GROUP_OBJID',
'PRODUCT_OBJID',
'MOLD_DEV_CODE'
];
colModels =
[
{name:'PART_NO', index:'PART_NO', align:'left', width:'120px'},
{name:'PART_NAME', index:'PART_NAME', align:'left', width:'200px'},
{name:'EO_NO', index:'EO_NO', align:'center', width:'100px'},
{name:'EO_ISSUE_DATE', index:'EO_ISSUE_DATE', align:'center', width:'100px'},
{name:'REV', index:'REV', align:'center', width:'70px'},
{name:'QTY', index:'QTY', align:'center', width:'70px'},
{name:'MATERIAL_NAME', index:'MATERIAL_NAME', align:'center', width:'70px'},
{name:'WEIGHT', index:'WEIGHT', align:'center', width:'70px'},
{name:'SIZE', index:'SIZE', align:'left', width:'100px'},
{name:'SURFACE_TREATMENT', index:'SURFACE_TREATMENT', align:'center', width:'100px'},
{name:'SPEC', index:'SPEC', align:'center', width:'100px'},
{name:'MOLD_DEV_TITLE', index:'MOLD_DEV_TITLE', align:'center', width:'90px'},
{
name:'MOLD_DEV_PARTNER_CODE',
index:'MOLD_DEV_PARTNER_CODE',
width:'90px',
edittype:'select',
formatter:'select',
editable:pageType,
editoptions:{
value:moldDevPartnerList,
dataInit: function(e){
e.style.width = "92%";
e.style.fontSize = 13;
}
}
},
{
name:'PART_DEV_CODE',
index:'PART_DEV_CODE',
width:'90px',
edittype:'select',
formatter:'select',
editable:pageType,
editoptions:{
value:partDevCodeList,
dataInit: function(e){
e.style.width = "92%";
e.style.fontSize = 13;
}
}
},
{
name:'PART_DEV_PARTNER_CODE',
index:'PART_DEV_PARTNER_CODE',
width:'90px',
edittype:'select',
formatter:'select',
editable:pageType,
editoptions:{
value:partDevPartnerList,
dataInit: function(e){
e.style.width = "92%";
e.style.fontSize = 13;
}
}
},
{name:'PART_OBJID', index:'PART_OBJID', hidden: true},
{name:'EO_OBJID', index:'EO_OBJID', hidden: true},
{name:'OBJID', index:'OBJID', hidden: true},
{name:'BOM_REPORT_OBJID', index:'BOM_REPORT_OBJID', hidden: true},
{name:'OEM_OBJID', index:'OEM_OBJID', hidden: true},
{name:'CAR_OBJID', index:'CAR_OBJID', hidden: true},
{name:'PRODUCT_GROUP_OBJID', index:'PRODUCT_GROUP_OBJID', hidden: true},
{name:'PRODUCT_OBJID', index:'PRODUCT_OBJID', hidden: true},
{name:'MOLD_DEV_CODE', index:'MOLD_DEV_CODE', hidden: true}
];
fn_search();
});
function fn_openEOPopup(objId){
window.open("/eoMng/eoMngDetailPopUp.do?OBJID="+objId, "tempEoListPopup","width=1000,height=800,toolbar=no, status=no, menubar=no, location=no, scrollbars=yes, resizable=yes");
}
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");
}
function fn_setPageType(){
var result = true;
var pageTypeParam = "${param.popUpType}";
if("detail" == pageTypeParam){
result = false;
}
return result;
}
function fn_search(){
$.ajax({
url:"/devMng/getStructureAscendingList.do",
type:"POST",
data:$("#form1").serialize(),
dataType:"json",
async:false,
success:function(data){
var resultList = data;
var maxLevel = 0;
var firstCol = "LEV_1";
var newHeaderNames = [];
var newColModels = [];
if(0 < resultList.length){
for (var i = 0; i < resultList.length; i++) {
if(i == 0){
maxLevel = resultList[i].MAX_LEVEL;
var levelHeaders = [];
var levelColModels = [];
for(var j=0;j<maxLevel;j++){
k = Number(j)+1;
levelHeaders.push(k);
levelColModels.push({name:"LEV_"+k, index:"LEV_"+k, align:'center', width:'20px' ,frozen:true});
}
newHeaderNames = levelHeaders.concat(headerNames);
newColModels = levelColModels.concat(colModels);
grid = $("#mainGrid").jqGrid({
url :"",
datatype : "local",
height : 630,
colNames : newHeaderNames,
colModel : newColModels,
autowidth : true,
shrinkToFit : false,
editurl: '',
cellEdit: true,
emptyrecode : "구성된 BOM이 없습니다.",
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);
}
}
if("EO_NO" == cm[iCol].name){
var row = $(this).getRowData(rowid);
var eoObjId = row.EO_OBJID;
if("" != eoObjId){
fn_openEOPopup(eoObjId);
}
}
}
});
//$("#mainGrid").jqGrid("setFrozenColumns"); cellEdit 시 작동안함
}
grid.jqGrid('addRowData',i+1,resultList[i]);
}
if(pageType){
fn_setEdit();
}
// $("#mainGrid").jqGrid('setGroupHeaders', {
// useColSpanStyle: true,
// groupHeaders:[
// {startColumnName: "EO_NO", numberOfColumns: 10, titleText: '기타정보'}
// ]
// });
}else{
$("#mainGrid").jqGrid("GridUnload");
$("#mainGrid").jqGrid({
url :"",
datatype : "local",
height : 630,
colNames : headerNames,
colModel : colModels,
autowidth : true,
shrinkToFit : false,
editurl: '',
cellEdit: true,
emptyrecode : "구성된 BOM이 없습니다.",
gridComplete:function(){
Swal.fire("구성된 BOM 정보가 없습니다.");
}
});
}
},
error: function(jqxhr, status, error){
}
});
}
function fn_save() {
var gridData = grid.getRowData();
if(0 < gridData.length){
if(confirm("저장하시겠습니까?")){
$.ajax({
type: "POST",
url: "/devMng/saveExternalWorkReview.do",
data : {"gridData": JSON.stringify(grid.getRowData())},
dataType:"json",
success:function(data){
Swal.fire(data.message);
if(data.result){
opener.fn_search();
self.close();
}
},
error: function(jqxhr, status, error){
}
});
}
}
}
function fn_setView(){
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid.jqGrid("saveRow",ids[i],null,"clientArray");
}
}
function fn_setEdit(){
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
var rowData = grid.getRowData(ids[i]);
if(rowData.MOLD_DEV_TITLE != "C/O"){
grid.jqGrid("editRow",ids[i]);
}
}
}
</script>
</head>
<style>
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{
font-weight: bold;
color: #2b2b2b;
text-align: center;
font-weight: 500;
height: 25px;
font-size: 12px;
}
</style>
<body class="backcolor">
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="search_oemObjId" id="search_oemObjId" value="${param.search_oemObjId}">
<input type="hidden" name="search_carObjId" id="search_carObjId" value="${param.search_carObjId}">
<input type="hidden" name="search_productObjId" id="search_productObjId" value="${param.search_productObjId}">
<section>
<div class="min_part_enroll">
<div class="content-box">
<div class="content-box-s">
<div class="plm_menu_name">
<h2>
<span>내외작검토 등록</span>
</h2>
</div>
<div class="contents_page_basic_margin">
<div class="plm_table_wrap container">
<div>
<table class="plm_table container" id="mainGrid" style="width:80%;"></table>
</div>
</div>
</div>
</div>
<div class="btn_wrap">
<div class="plm_btn_wrap_center">
<input type="button" value="저장" class="plm_btns" id="btnSave">
<input type="button" value="닫기" class="plm_btns" id="btnClose">
</div>
</div>
</div>
</div>
</section>
</form>
</body>
</html>