345 lines
9.9 KiB
Plaintext
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> |