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

432 lines
14 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ 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"%>
<%
Map info = (HashMap)(request.getAttribute("info"));
boolean isModfidy = true;
if(info!=null &&
( CommonUtils.checkNull(info.get("APPR_STATUS_CD")).equals( "inProcess")
||CommonUtils.checkNull(info.get("APPR_STATUS_CD")).equals( "complete" )
)
){
isModfidy = false;
}
%>
<!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="MATER_MASTER"/>
<c:set var="fileDocTypeName" value="발주서" />
<script type="text/javascript">
var grid;
$(document).ready(function(){
//상신된 결재라인 가져오기
fn_getApprLine();
grid = $("#formGrid1").jqGrid({
url: ""
,datatype: "local"
,data : $.parseJSON($("#gridDetailList").val())
//,datatype: "jsonstring"
//,datastr : $.parseJSON('{"total":1,"page":1,"records":1,"rows":[{"part_name":""}]}')
,colNames: ["RESOURCE_OBJID","품명","품번","두께","가로","세로","외경","내경","길이","수량"]
,colModel: [
{name:"RESOURCE_OBJID", index:"RESOURCE_OBJID", width: 0, align:"center", hidden: true, sortable:false, editable:false}
,{name:"PART_NAME" , index:"PART_NAME" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"DO_NO" , index:"DO_NO" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"THICKNESS" , index:"THICKNESS" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"WIDTH" , index:"WIDTH" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"HEIGHT" , index:"HEIGHT" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"OUT_DIAMETER" , index:"OUT_DIAMETER" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"IN_DIAMETER" , index:"IN_DIAMETER" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"LENGTH" , index:"LENGTH" , width: 80, align:"center", hidden:false, sortable:false, editable:false}
,{name:"QTY" , index:"QTY" , width:150, align: "right", hidden:false, sortable:false, editable: true, formatter:"integer", formatoptions:{thousandsSeparator:","}}
]
,ignoreCase : true
,rownumbers : true
,viewrecords : true
,height : 250
,multiselect : <% if(isModfidy){ %>true<% }else{ %>false<% } %> //선택가능
,shrinkToFit : false
,autowidth : true
,sortable : false
,rowNum : 10000
,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
,jsonReader : {repeatitems: false}
,mtype :"POST"
,footerrow : false //바닥합계
,userDataOnFooter: true //바닥합계
//,caption :"제목"
,loadComplete: function(){
//footer 커스텀..
}
});
var optJson = {
useColSpanStyle: true,
groupHeaders:[
{startColumnName: 'THICKNESS', numberOfColumns: 6, titleText: '<center><em>규 격</em></center>'}
]
};
fn_jqGrid_setGroupHeaders(grid, optJson);
<% if(isModfidy){ %>
$("#sup_cd").prop("disabled","");
fnc_datepick(); //달력
$(".select2").select2();
gridFn.opennEdit(); //수정가능
//버튼
$("#btnAdd" ).click(function(){ fn_openPartMngListPopUp(); }); //행추가
$("#btnDel" ).click(function(){ gridFn.delRow(); }); //행삭제
$("#btnSave").click(function(){ fn_save(); }); //저장
$("#btnAppr").click(function(){ //결재상신
if(fnc_valitate("form1")){
var objId = "${objId}";
if(""==grid.getRowData()){
Swal.fire('저장할 품목이 존재 하지 않습니다');
return;
}
//var title = encodeURIComponent($("#title").val());
var title = encodeURIComponent("발주서 상신");
window.open("/approval/registApproval.do?targetType=MATERIAL_SORTAPPLY&targetObjId="+objId+"&approvalTitle="+title+"&callbackFnc=fn_appr_status","registApproval","width=700,height=700");
}
});
<% } %>
});
//상신된 결재라인가져오기
function fn_getApprLine(){
$.ajax({
url:"/common/getApprovalLine.do",
type:"POST",
data:{"objId":"${objId}"},
dataType:"json",
async:false,
success:function(data){
$.each(data.RESULT, function(i,o){
if(i==0){
$("#appr"+i).html(o.WRITER +"<br/>"+ o.REGDATE);
}
$("#appr"+(i+1)).html(o.TARGET_USER_NAME +"<br/>"+ (o.PROC_DATE!=undefined?o.PROC_DATE:" "));
});
},
error: function(jqxhr, status, error){
}
});
}
function fn_appr_status(){
$("#status_cd").val("PURSTCD00500");
//결재 프로세스 변경으로 인한 주석
/* if("SRT00020"==$("#sort_cd").val()){
$("#status_cd").val("PURSTCD00500");
}else{
$("#status_cd").val("PURSTCD00200");
}
*/
fn_save_process();
}
//행추가시 품목선택 팝업
function fn_openPartMngListPopUp(){
var hiddenForm = document.hiddenForm;
var target = "partMngListPopUp";
//var url = "/eoMng/partMngListPopUp.do?OBJID="+ ${resultMap.OBJID};
var url = "/partMng/partMngListPopUp.do?callbackFnc=fn_addRow&callType=purchaseOrder";
window.open(url,target,"width=1480,height=800");
}
//품목선택 callbackFnc
function fn_addRow(rowData){
var addData = {
"RESOURCE_OBJID" : rowData.map.PART_OBJID
,"PART_NAME" : rowData.map.PART_NAME
,"DO_NO" : rowData.map.DO_NO
,"THICKNESS" : rowData.map.THICKNESS
,"WIDTH" : rowData.map.WIDTH
,"HEIGHT" : rowData.map.HEIGHT
,"OUT_DIAMETER" : rowData.map.OUT_DIAMETER
,"IN_DIAMETER" : rowData.map.IN_DIAMETER
,"LENGTH" : rowData.map.LENGTH
}
var newId = grid.getGridParam("reccount")+1;
grid.addRowData(newId, addData);
grid.jqGrid("editRow", newId);
}
function fn_save(){
if(fnc_valitate("form1")){
if(""==grid.getRowData()){
Swal.fire('저장할 품목이 존재 하지 않습니다');
return;
}
$("#status_cd").val("PURSTCD00100");
if(confirm("저장 하시겠습니까?")){
fn_save_process();
}
}
}
<% if(isModfidy){ %>
function fn_save_process(){
//$("#final_order_amount").prop('disabled', false);
var master_title = grid.getRowData(1).PART_NAME;
if(grid.getRowData().length > 1){
master_title += " 외 "+(grid.getRowData().length-1)+"건";
}
$("input[name=title]").val(master_title);
gridFn.closeEdit();
$.ajax({
url:"/materMgmt/materMgmtSave.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){
}
});
}
<% } %>
var gridFn = {
addRow : function() {
//var newId = grid.getGridParam("reccount")+1;
//var addData = {
// "RESOURCE_OBJID" : ""
// ,"PART_NAME" : ""
// ,"DO_NO" : ""
// ,"THICKNESS" : ""
// ,"WIDTH" : ""
// ,"HEIGHT" : ""
// ,"OUT_DIAMETER" : ""
// ,"IN_DIAMETER" : ""
// ,"LENGTH" : ""
// ,"QTY" : ""
//};
//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*/);
}
}
,search : function() {
//grid.setGridParam({
// url: "/materMgmt/searchPartMgmt.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;
var colSum2 = 0;
var colSum3 = 0;
$("input[id*=UNIT_PRICE]").each(function(){ if($.isNumeric($(this).val())){ colSum1 += parseInt($(this).val()); } }); */
//$("input[id*=CASH_USED]").each(function(){ if($.isNumeric($(this).val())){ colSum2 += parseInt($(this).val()); } });
//$("input[id*=PAYMENT]" ).each(function(){ if($.isNumeric($(this).val())){ colSum3 += parseInt($(this).val()); } });
//$("#total_amount").val(numberWithCommas(colSum1+""));
//$("#summuryTotalCASH_USED").text(numberWithCommas(colSum2+""));
//$("#summuryTotalPAYMENT" ).text(numberWithCommas(colSum3+""));
//$("#summuryTotal").text(numberWithCommas((colSum1+colSum2-colSum3)+""));
//var ids = grid.jqGrid("getDataIDs");
//var total =0;
//for (var i = 0; i < ids.length; i++) {
// if($.isNumeric(grid.jqGrid('getCell', i+1, 'UNIT_PRICE'))){
// //Swal.fire(parseInt(grid.jqGrid('getCell', i+1, 'UNIT_PRICE')));
// total = parseInt(total) + parseInt(grid.jqGrid('getCell', i+1, 'UNIT_PRICE'));
// }
//
//}
//
//$("#total").text(total);
//$("#final_order_amount").val(total);
}
}
</script>
</head>
<body>
<form name="form1" id="form1" action="" method="post">
<input type="hidden" name="material_master_objid" id="material_master_objid" value="${objId}">
<input type="hidden" name="status_cd" id="status_cd">
<input type="hidden" name="title" >
<section>
<div class="plm_menu_name">
<h2><span>발주서</span></h2>
</div>
<div id="expenseApplyPopupFormWrap1">
<table class="pmsPopupForm">
<colgroup>
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
<col width="11%" />
</colgroup>
<tr>
<td rowspan="2" colspan="2" style="background-color: #1159bc;"><image src="/images/mainLogo_myungjin.png" style="width: 197px; height: 33px;" /></td>
<td rowspan="2" colspan="3" style="text-align: center;"><h1><b>발주서</b></h1></td>
<td></td>
<td>P/O NO</td>
<td></td>
<td>크로샤</td>
</tr>
<tr>
<td></td>
<td>PAGE</td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="2" colspan="2" style="text-align: center;">업체명</td>
<td rowspan="2" colspan="3">
<select name="sup_cd" id="sup_cd" required reqTitle="업체명" type="select" class="select2" autocomplete="off" disabled>
<option value="">선택</option>
${code_map.supply_cd}
</select>
</td>
<td></td>
<td>주문일자</td>
<td colspan="2">
<input type="text" name="order_date" id="order_date" class="date_icon" required reqTitle="주문일자" value="${info.ORDER_DATE}" readonly/>
</td>
</tr>
<tr>
<td></td>
<td>납품일자</td>
<td colspan="2">
<input type="text" name="recv_date" id="recv_date" class="date_icon" required reqTitle="납품일자" value="${info.RECV_DATE }" readonly/>
</td>
</tr>
<tr>
<td>발신</td>
<td colspan="2">명진스틸산업(주)</td>
<td>담당자</td>
<td colspan="5">${writerName}</td>
</tr>
<tr>
<td>전화</td>
<td colspan="2">626-1031</td>
<td>FAX</td>
<td colspan="5">626-1032</td>
</tr>
<tr>
<td colspan="9">1. 귀사의 일의 번창하심을 기원합니다.</td>
</tr>
<tr>
<td colspan="9">2. 아래와 같이 발주하오니 검토하시고 납기를 준수하여 주시기 바랍니다.</td>
</tr>
</table>
</div>
<div id="plm_table_wrap1" style="padding:0 8 0 8;">
<div style="">
<div style="height: 300px;">
<table id="formGrid1""></table>
<!-- <div id="jqGridPager"></div> -->
</div>
</div>
</div>
<div id="expenseApplyPopupFormWrap1">
<table class="pmsPopupForm">
<colgroup>
<col width="10%" />
<col width="40%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
<col width="10%" />
</colgroup>
<tr>
<td rowspan="2" class="input_title">비고</td>
<td rowspan="2">
<textarea style="width:100%; height: 100px;background-color: #fff;" name="reason" id="reason">${info.REASON}</textarea>
</td>
<td rowspan="2" style="text-align:center;" class="input_title">결<br>재</td>
<td style="text-align:center;" class="input_title">담당</td>
<td style="text-align:center;" class="input_title">팀장</td>
<td style="text-align:center;" class="input_title">부장</td>
<td style="text-align:center;" class="input_title">대표</td>
</tr>
<tr>
<td style="text-align:center;" id="appr0"></td>
<td style="text-align:center;" id="appr1"></td>
<td style="text-align:center;" id="appr2"></td>
<td style="text-align:center;" id="appr3"></td>
</tr>
<tr>
<td colspan="8" style="text-align: right;">위와 같이 발주합니다.</td>
</tr>
</table>
</div>
<div class="btn_wrap">
<div class="plm_btn_wrap" style="padding:0 8 0 8; text-align: right;">
<% if(isModfidy){ %>
<input type="button" value="행추가" class="plm_btns" id="btnAdd" name="btnAdd" 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">
<input type="button" value="결재상신" class="plm_btns" id="btnAppr" name="btnAppr" style="background:#dfeffc">
<% } %>
<input type="button" value="닫기" class="plm_btns" style="background:#dfeffc" onclick="window.close();" >
</div>
</div>
</section>
<textarea style="width:0px; height:0px; visibility: hidden;" id="gridDetailList">${gridDetailList}</textarea>
</form>
</body>
</html>