ERP-node/WebContent/WEB-INF/view/materMgmt/openreleaseFormPopup.jsp

393 lines
12 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page import="com.pms.common.utils.*"%>
<%@ page import="java.util.*"%>
<%@include file="/init_jqGrid.jsp"%>
<!DOCTYPE html>
<html>
<head>
<!-- //JSTL 페이징 변수선언 -->
<c:set var="now" value="<%=new java.util.Date() %>" />
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
<c:set var="fileDocType" value="EXPENSE_MASTER" />
<c:set var="fileDocTypeName" value="경비신청서" />
<script type="text/javascript">
var grid;
$(document).ready(function(){
$('.select2').select2();
var gridProjectNo = $.parseJSON($("#gridProjectNo").val()); //jqGrid 계정과목
var gridrelCd = $.parseJSON($("#gridrelCd").val()); //jqGrid 계정과목
var griduserid = $.parseJSON($("#griduserid").val()); //jqGrid 계정과목
$("#btnSave").click(function(){
fn_save();
});
$("#btnDel").click(function(){
gridFn.delRow();
});
$("#btnAdd").click(function(){
gridFn.addRow();
});
fnc_datepick(); //달력
grid = $("#expenseDetailGrid").jqGrid({
url: ""
,datatype: "local"
,colNames: ["대상 프로젝트","불출수량","용도","불출일","인수자"]
,colModel: [
{name:"PROJECT_MGMT_OBJID" ,index:"PROJECT_MGMT_OBJID" , width:120, align:"center", hidden:false, sortable:false, editable: true
,edittype :"select"
,formatter :"select"
,editoptions:{
value: gridProjectNo
,dataInit: function(e){
e.style.width = "92%";
e.style.fontSize = 12;
}
}
}
,{name:"REL_QTY" ,index:"REL_QTY" , width:100, align: "right", hidden:false, sortable:false, editable: true
,formatter: "integer", formatoptions:{ defaultValue: " ",thousandsSeparator:","}
,editoptions:{
dataEvents: [
{type:"change", fn:function(e) {
gridFn.footerSummary();
}}
]
,dataInit: function(e){
e.style.textAlign = "right";
e.style.fontSize = 13;
$(e).keypress(function(e){
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
}
});
}
},editrules: {
custom: true,
custom_func: validNum }
}
,{name:"REL_PUR_CD" ,index:"REL_PUR_CD" , width:120, align:"center", hidden:false, sortable:false, editable: true
,edittype :"select"
,formatter :"select"
,editoptions:{
value: gridrelCd
,dataInit: function(e){
e.style.width = "92%";
e.style.fontSize = 12;
}
}
}
,{name:"REL_DATE" ,index:"REL_DATE" , width:120, align: "center", hidden:false, sortable:false, editable: true,
editoptions : { dataInit : function(e)
{
$(e).datepicker();
e.style.fontSize = 12;
e.style.textAlign = "center";
}
}
}
,{name:"REL_USER_ID" ,index:"REL_USER_ID" , width:120, align:"center", hidden:false, sortable:false, editable: true
,edittype :"select"
,formatter :"select"
,editoptions:{
value: griduserid
,dataInit: function(e){
e.style.width = "92%";
e.style.fontSize = 12;
}
}
}
]
,rownumbers : true
,viewrecords : true
,height : 240
,multiselect : true
,shrinkToFit : false
,autowidth : true
,sortable : false
,rowNum : 100
,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
,jsonReader : {repeatitems: false}
,mtype :"POST"
,footerrow : true //바닥합계
,userDataOnFooter: true //바닥합계
,loadComplete: function(){
//footer 커스텀..
$(".ui-jqgrid-ftable td:eq(1)").remove();
$(".ui-jqgrid-ftable td:eq(1)").remove();
$(".ui-jqgrid-ftable td:eq(1)").remove();
$(".ui-jqgrid-ftable td:eq(0)").attr({"colspan":"3"});
$(".ui-jqgrid-ftable td:eq(0)").css({"width":"","font-size":"20px"});
$(".ui-jqgrid-ftable td:eq(1)").attr({id:"summuryTotalCARD_USED"});
$(".ui-jqgrid-ftable td:eq(2)").attr({id:"summuryTotalCASH_USED"});
$(".ui-jqgrid-ftable td:eq(3)").attr({id:"summuryTotalPAYMENT" });
/* $(".ui-jqgrid-ftable tbody").append("<tr class=\"ui-widget-content footrow footrow-ltr\"><td colspan=\"3\" id=\"summuryTotal\" style=\"text-align:right\"></td></tr>"); */
$("#expenseDetailGrid").jqGrid("footerData", "set", { "rn":"재고/불출/잔여"});
$("#summuryTotalCARD_USED").text(numberWithCommas("${info.QTY}"));
//$("#summuryTotalCASH_USED").text(numberWithCommas("2"));
//$("#summuryTotalPAYMENT" ).text(numberWithCommas("3"));
}
});
gridFn.search();
});
function validNum(val, nm, valref){
if($.isNumeric(val)){
return [true, ""];
}else{
return [false, "숫자만 입력 가능 합니다."];
}
}
function setDefault(){
var date = new Date();
var _yyyy = date.getFullYear();
var _mm = (date.getMonth() <10?"0":"") + (date.getMonth()+1);
var _dd = (date.getDate() <10?"0":"") + date.getDate();
var now_date = _yyyy+"-"+_mm+"-"+_dd;
if($("#bnsStartDate").val()==""){
$("#bnsStartDate").val(now_date);
}
if($("#bnsEndDate").val()==""){
$("#bnsEndDate").val(now_date);
}
if($("#regDate").val()==""){
$("#regDate").val(now_date);
}
}
var gridFn = {
addRow : function() {
var newId = grid.getGridParam("reccount")+1;
var addData = {
"PROJECT_MGMT_OBJID": "",
"REL_QTY": "",
"REL_PUR_CD" : "",
"REL_DATE" : "",
"REL_USER_ID" : ""
};
grid.addRowData(newId, addData);
grid.jqGrid("editRow", newId);
}
,delRow : function(){
var selectedRowIds = grid.jqGrid("getGridParam","selarrrow");
if(selectedRowIds.length==0){
Swal.fire("삭제할 행을 선택해주십시오.");
return false;
}
for(var i = selectedRowIds.length - 1; i >= 0; i--){
grid.delRowData(selectedRowIds[i]);
}
}
,opennEdit : function() { //수정가능
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid.jqGrid("editRow",ids[i]);
}
}
,closeEdit : function() { //수정불가
var ids = grid.jqGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
grid.jqGrid("saveRow", ids[i], /*successFunction*/null, /*url*/"clientArray"/*, extraparam, aftersavefunc,errorfunc, afterrestorefunc*/);
}
}
,getStep2Cd : function(obj){ //2단계연결코드 재설정
var gridExpSubdCdArr = $.parseJSON($("#gridExpSubdCd").val());
var targetObj = $("#"+$(obj).attr("rowid")+"_EXP_SUBD_CD");
targetObj.empty(); //초기화
targetObj.append("<option value=\"\">선택</option>");
for(var i=0; i<gridExpSubdCdArr.length; i++){
cd = gridExpSubdCdArr[i];
if(cd["PARENT_CODE_ID"]==obj.value){
targetObj.append("<option value=\""+cd["CODE_ID"]+"\">"+cd["CODE_NAME"]+"</option>");
}
};
}
,search : function() {
grid.setGridParam({
url: "/materMgmt/searchreleaseList.do"
,datatype : "json"
,postData : $("#form1").serialize()
,loadComplete : function(data) {
gridFn.footerSummary();
}
,gridComplete : function() {
gridFn.opennEdit(); //수정가능
}
}).trigger("reloadGrid");
grid.setGridParam({url: "", datatype : "local"});
}
,footerSummary: function(){ //자동합계
var colSum1 = 0;
$("input[id*=REL_QTY]").each(function(){ if($.isNumeric($(this).val())){ colSum1 += parseInt($(this).val()); } });
var summuryTotalCARD_USED = $("#summuryTotalCARD_USED").text();
$("#summuryTotalCASH_USED").text(numberWithCommas(colSum1+""));
$("#summuryTotalPAYMENT").text(numberWithCommas(summuryTotalCARD_USED-colSum1)+"");
/* var ids = grid.jqGrid("getDataIDs");
var total =0;
for (var i = 0; i < ids.length; i++) {
if($.isNumeric(grid.jqGrid('getCell', i+1, 'PRICE'))){
total = parseInt(total) + parseInt(grid.jqGrid('getCell', i+1, 'PRICE'));
}
}
$("#total_amount").val(total); */
}
}
function fn_save(){
var check =false;
$("input[id*=REL_QTY]").each(function(){
if($(this).val()!=" "){
check=true;
}else{
check =false;
}
});
if(!check){
Swal.fire('불출수량을 입력해 주세요');
return;
}
if(fnc_valitate("form1")){
/* if(""==grid.getRowData()){
Swal.fire('저장할 내용이 존재 하지 않습니다.');
return;
} */
if(confirm("저장 하시겠습니까?")){
//return;
/* Swal.fire($("#form1").serialize());
return; */
gridFn.closeEdit();
$.ajax({
url:"/materMgmt/saverelmaterMgmtInfo.do"
,type:"POST"
,data: $("#form1").serialize() + "&jqGrid="+ encodeURIComponent(JSON.stringify(grid.getRowData()))
,dataType:"json"
,success:function(data){
if(data =="SUCCESS"){
Swal.fire("저장되었습니다.");
};
if(typeof opener.fn_search =="function"){ opener.fn_search() };
//self.close();
}
,error: function(jqxhr, status, error){
}
});
}
}
}
/*실시간 콤마 삽입 */
function cmaComma(obj) {
var firstNum = obj.value.substring(0,1); // 첫글자 확인 변수
var strNum = /^[/,/,0,1,2,3,4,5,6,7,8,9,/]/; // 숫자와 , 만 가능
var str = "" + obj.value.replace(/,/gi,''); // 콤마 제거
var regx = new RegExp(/(-?\d+)(\d{3})/);
var bExists = str.indexOf(".",0);
var strArr = str.split('.');
if (!strNum.test(obj.value)) {
Swal.fire("숫자만 입력하십시오.\n\n특수문자와 한글/영문은 사용할수 없습니다.");
obj.value = 1;
obj.focus();
return false;
}
if ((firstNum < "0" || "9" < firstNum)){
Swal.fire("숫자만 입력하십시오.");
obj.value = 1;
obj.focus();
return false;
}
while(regx.test(strArr[0])){
strArr[0] = strArr[0].replace(regx,"$1,$2");
}
if (bExists > -1) {
obj.value = strArr[0] + "." + strArr[1];
} else {
obj.value = strArr[0];
}
}
</script>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="inventory_mgmt_objid" id="inventory_mgmt_objid" value="${info.INVENTORY_MGMT_OBJID}">
<section>
<div class="plm_menu_name">
<h2><span>자재관리_재고현황</span></h2>
</div>
<div class="btn_wrap" style="margin-right:8px">
<div class="plm_btn_wrap">
<c:if test="${'plm_admin' eq connectUserId or 'js_seo' eq connectUserId }">
<input type="button" value="추가" class="plm_btns" id="btnAdd" name="btnDel" style="background:#dfeffc">
<input type="button" value="삭제" class="plm_btns" id="btnDel" name="btnDel" style="background:#dfeffc">
<input type="button" value="저장" class="plm_btns" id="btnSave" name="btnSave" style="background:#dfeffc">
</c:if>
<input type="button" value="닫기" class="plm_btns" style="background:#dfeffc" onclick="window.close();" >
</div>
</div>
<div style="clear:both"></div><br>
<style>.ui-jqgrid .ui-jqgrid-bdiv {height:225px!important}</style>
<div id="plm_table_wrap1" style="padding:0 8 0 8;;margin-top:-8px">
<div style="">
<div style="height: 200px;">
<table id="expenseDetailGrid"></table>
<!-- <div id="jqGridPager"></div> -->
</div>
</div>
</div>
</section>
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridProjectNo">${code_map.gridProjectNo}</textarea><!-- 코드동적설정 -->
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridrelCd">${code_map.gridrelCd}</textarea><!-- 코드동적설정 -->
<textarea style="width:0px; height:0px; visibility: hidden;" id="griduserid">${code_map.griduserid}</textarea><!-- 코드동적설정 -->
<%-- <textarea style="width:0px; height:0px; visibility: hidden;" id="gridExpSortCd">${code_map.gridExpSortCd}</textarea>
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridExpSubmCd">${code_map.gridExpSubmCd}</textarea><!-- 코드동적설정 -->
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridExpSubdCd">${code_map.gridExpSubdCd}</textarea><!-- 코드동적설정 --> --%>
</form>
</body>
</html>