ERP-node/WebContent/WEB-INF/view/purchaseOrder/deliveryResultFormDefectPop...

188 lines
6.3 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_jqGrid.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%=Constants.SYSTEM_NAME%></title>
</head>
<script type="text/javascript">
$(document).ready(function(){
$('.select2').select2();
fnc_datepick();
var jqGridSelect_defectReason = $.parseJSON($("#jqGridSelect_defectReason").val()); //불량사유
grid1 = $("#grid1").jqGrid({
url: ""
,datatype: "local"
,data : $.parseJSON($("#grid1Data").val())
,colNames: ["불량품수량","사유"]
,colModel: [
{name:"DEFECT_QTY" , index:"", width:100, align: "right", hidden:false, sortable:false, editable: true, formatter: "integer", formatoptions:{thousandsSeparator:","} }
,{name:"DEFECT_REASON_CD", index:"", width:100, align:"center", hidden:false, sortable:false, editable: true
,edittype :"select"
,formatter :"select"
,editoptions:{
value: jqGridSelect_defectReason
,dataInit: function(e){ e.style.width = "92%"; e.style.fontSize = 13; }
,dataEvents: [
{type:"change", fn:function(e) {
//var row = $(e.target).closest("tr.jqgrow");
//gridFn.getStep2Cd(this);
}}
]
}
}
]
,ignoreCase : true //로컬 검색 및 정렬이 대,소문자를 구분하지 않도록 하려면true
,rownumbers : false //row번호 표시
,viewrecords : true //pager가 있을경우 표시되는 record number
,autowidth : true //그리드 너비가 자동으로 부모 요소의 너비로 다시 계산
,sortable : false //마우스로 열을 끌어다 놓아 열을 재정렬
,shrinkToFit : true //모든 열은 너비에 비례하여 크기가 조정
,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
,multiselect : true //선택가능. 체크박스표시
,height : 120
,rowNum : "${countPerPage}"
,jsonReader : {repeatitems: false}
,mtype :"POST"
,footerrow : false //바닥합계
,userDataOnFooter: false //바닥합계
,loadComplete: function(data){ //모든 서버 요청 직후에 실행
var gid = $(this).attr("id");
var grid_wrap_div = $("#gbox_"+gid);
setTimeout("fn_jqGrid_init($('#"+gid+"'), false);", 50); //윈도우크기 비례 자동조절
}
,gridComplete: function(){ //모든 프로세스가 완료된 후에 발생,페이징 등을 정렬 한 후에 발생
}
});
$("#btnSave" ).click(function(){ fn_save(); });
grid1Fn.opennEdit(); //수정가능
$("#btnAdd" ).click(function(){ grid1Fn.addRow(); });
$("#btnDel" ).click(function(){ grid1Fn.delRow(); });
});
var grid1Fn = {
addRow : function() {
var newId = grid1.getGridParam("reccount")+1;
var addData = {
"DEFECT_QTY" : ""
,"DEFECT_REASON_CD": ""
};
grid1.addRowData(newId, addData);
grid1.jqGrid("editRow", newId);
}
,delRow : function(){
var selectedRowIds = grid1.jqGrid("getGridParam","selarrrow");
if(selectedRowIds.length==0){
Swal.fire("삭제할 행을 선택해주십시오.");
return false;
}
for(var i = selectedRowIds.length - 1; i >= 0; i--){
grid1.delRowData(selectedRowIds[i]);
}
}
,opennEdit : function() { //수정가능
var ids = grid1.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid1.jqGrid("editRow",ids[i]);
}
}
,closeEdit : function() { //수정불가
var ids = grid1.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid1.jqGrid("saveRow", ids[i], /*successFunction*/null, /*url*/"clientArray"/*, extraparam, aftersavefunc,errorfunc, afterrestorefunc*/);
}
}
,footerSummary: function(){ //자동합계
}
}
function fn_save(){
if(fnc_validate('form1')){
if(confirm("저장하시겠습니까?")){
grid1Fn.closeEdit();
if(grid1.getRowData().length == 0){
Swal.fire('저장할 불략내역이 존재 하지 않습니다');
grid1Fn.opennEdit();
return;
}
var total_defect_qty = 0;
for(var i=1; i<=grid1.getRowData().length; i++){
var qty = grid1.getRowData(i).DEFECT_QTY;
var cd = grid1.getRowData(i).DEFECT_REASON_CD;
if(qty == ""){
Swal.fire('불량품수량을 입력해주세요');
grid1Fn.opennEdit();
return;
}
if(!$.isNumeric(qty)){
Swal.fire('불량품수량은 숫자만 입력해주세요');
grid1Fn.opennEdit();
return;
}
if(cd == ""){
Swal.fire('사유를 선택해주세요');
grid1Fn.opennEdit();
return;
}
total_defect_qty += Number( qty );
}
var data = JSON.stringify(grid1.getRowData());
opener.fn_callbackDefectPopup("${param.OBJID}", total_defect_qty, data);
self.close();
}
}
}
</script>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="objId" id="objId" value="${param.OBJID}">
<textarea style="width:0px; height:0px; visibility: hidden;" id="jqGridSelect_defectReason">${code_map.jqGridSelect_defectReason}</textarea><!-- 코드동적설정 -->
<section>
<div id="businessPopupFormWrap">
<table style="width: 100%;">
<colgroup>
<col width="30%">
<col width="70%">
</colgroup>
<tr>
<td><h3 style="margin-top:0px;">불량내역</h3></td>
<td style="float:right; margin-top:5px;">
<input type="button" value="추가" class="plm_btns" id="btnAdd">
<input type="button" value="삭제" class="plm_btns" id="btnDel">
</td>
</tr>
</table>
<div class="plm_table_wrap" style="overflow-x: auto;">
<table id="grid1"></table>
<!-- <div id="grid1Pager"></div> -->
<textarea style="width:0px; height:0px; visibility: hidden;" id="grid1Data">${param.grid1Data}<c:if test="${empty param.grid1Data}">[]</c:if></textarea><!-- [{},{},{}] -->
</div>
</div>
<div class="btn_wrap" style="height: 50px;">
<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" onclick="javascript: self.close(0); return false;">
</div>
</div>
</section>
</form>
</body>
</html>